diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /unix/os/zraloc.c | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'unix/os/zraloc.c')
-rw-r--r-- | unix/os/zraloc.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/unix/os/zraloc.c b/unix/os/zraloc.c new file mode 100644 index 00000000..6021a359 --- /dev/null +++ b/unix/os/zraloc.c @@ -0,0 +1,37 @@ +/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + */ + +#include <stdio.h> +#define import_kernel +#define import_knames +#define import_spp +#include <iraf.h> + +/* ZRALOC -- Reallocate space on the heap (change the size of the area). + */ +int +ZRALOC ( + XINT *buf, /* receives address of buffer */ + XINT *nbytes, /* buffer size, machine bytes */ + XINT *status /* status return: XOK or XERR */ +) +{ + register char *bufptr; + char *ptr = (void *) NULL; + int zstat; + + ptr = LOC_TO_ADDR(*buf,char); + bufptr = realloc (ptr, (size_t)*nbytes); + + if (bufptr != NULL) { + *buf = ADDR_TO_LOC(bufptr); + if (*buf > 0) + *status = XOK; + else + *status = XERR; + } else + *status = XERR; + + zstat = *status; + return (zstat); +} |