Project

General

Profile

Download (625 Bytes) Statistics
| Branch: | Tag: | Revision:
/**
* Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Universal Permissive License v 1.0 as shown at
* http://oss.oracle.com/licenses/upl
*
*/
#ifndef MALLOC_H
#define MALLOC_H
#include <stdlib.h>
// Suitable for doing:
// struct foo *MALLOC(v); // make something that foo can point at.
#define MALLOC(v) v = malloc(sizeof (*v))
// Suitable for doing:
// struct foo *MALLOC_N(v, 5); // make an array of 5 "struct foo"s.
#define MALLOC_N(v, n) v = malloc(sizeof(*v)*(n))
#define REALLOC(v, n) v = realloc(v, (n)*sizeof(*v))
#define FREE(v) (free(v), (v) = NULL)
#endif
(12-12/29)