/*
 * Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

/* Helpers for resource management. */

#include <stdlib.h>

/* Support for automatically freed heap pointers. This function is never
 * expected to be called directly; you are expected to access it through the
 * adjacent macro. Sample usage:
 *
 *     void foo(void) {
 *       autofree int *x = malloc(sizeof(int));
 *       // no need to call free(x)
 *     }
 */
static inline void autofree_(void *p) {
    void **q = (void**)p;
    free(*q);
}
#define AUTOFREE __attribute__((cleanup(autofree_)))
