1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
*/
#include <stdio.h>
#include <stdlib.h>
#define import_kernel
#define import_knames
#define import_spp
#include <iraf.h>
/* ZMALOC -- Allocate space on the heap. NULL is returned if the buffer
* cannot be allocated, otherwise the address of the buffer is returned
* in "buf".
*/
int
ZMALOC (
XINT *buf, /* receives address of buffer */
XINT *nbytes, /* buffer size, machine bytes */
XINT *status /* status return: XOK or XERR */
)
{
register char *bufptr;
int stat;
bufptr = malloc ((size_t)*nbytes);
if (bufptr != NULL) {
*buf = ADDR_TO_LOC(bufptr);
if (*buf > 0)
*status = XOK;
else
*status = XERR;
} else
*status = XERR;
stat = *status;
return (stat);
}
|