VistaIOMalloc(3) | Library Functions Manual | VistaIOMalloc(3) |
VistaIOMalloc, VistaIOCalloc, VistaIORealloc, VistaIOFree - memory allocation functions
VistaIOPointer VistaIOMalloc (size_t size);
VistaIOPointer VistaIOCalloc (size_t num, size_t elsize);
VistaIOPointer VistaIORealloc (VistaIOPointer ptr, size_t size);
void VistaIOFree (VistaIOPointer ptr);
The VistaIOMalloc function returns a pointer to a block of storage of at least size bytes. It returns NULL, however, if size is zero.
The VistaIOCalloc function allocates space for num array elements of the size elsize, initializing the space to zero bits. Like VistaIOMalloc, it returns NULL if asked to allocate zero space.
The VistaIORealloc function changes a block of storage, pointed to by ptr, to be of size size (possibly moving it). If necessary, it allocates a new block at a different location, copies the old contents (or as much as will fit) into the new block, and then frees the old block. If ptr is NULL, VistaIORealloc allocates the new storage without copying the old contents; that is, it simply calls VistaIOMalloc. If size is zero, it frees storage pointed to by ptr and returns NULL.
The VistaIOFree function frees storage, allowing it to be reused. If ptr is NULL, VistaIOFree has no effect.
VistaIOMalloc, VistaIOCalloc, and VistaIORealloc each return a pointer to the allocated storage.
VistaIOFree does not return a value.
malloc(3), VistaIONew(3), VistaIONewString(3), VistaIOError(3),
If there is insufficient memory to allocate a requested block, VistaIOMalloc, VistaIOCalloc, or VistaIORealloc will terminate by calling VistaIOError(3) with the message ``Memory allocation failure''.
Art Pope <pope@cs.ubc.ca>
Adaption to vistaio: Gert Wollny <gw.fossdev@gmail.com>
These functions and this manual page are based on similar ones included in the X Toolkit Intrinsics, which is Copyright 1985, 1986, 1987, 1988 Massachusetts Institute of Technology, Cambridge, Massachusetts, and Digital Equipment Corporation, Maynard, Massachusetts.
3 June 1994 | VistaIO Version 1.2.14 |