alloc(3) allocate memory


#include <alloc.h>

char *alloc(new);

void alloc_free(x);

void alloc_re(&x,old,new);

char *x;
unsigned int old;
unsigned int new;


alloc allocates enough space from the heap for new bytes of data, adequately aligned for any data type. new may be 0. alloc returns a pointer to the space. If space is not available, alloc returns 0, setting errno appropriately.

alloc_free returns space to the heap.

alloc_re expands the space allocated to x from old bytes to new bytes. It allocates new space, copies old bytes from the old space to the new space, returns the old space to the heap, and changes x to point to the new space. It then returns 1. If space is not available, alloc_re returns 0, leaving the old space alone.