This is floatsav.c in view mode; [Download] [Up]
# include <stdio.h>
/*
* floatsav - builds an array of (float *) on the address POINTED TO by base.
* I.e., you hand floatsav the address of the location the address of
* which points to the base of a block of floats.
*/
int _fs_bufcnt, _fs_buflen;
reinitfloatsav()
{
_fs_bufcnt = _fs_buflen = 0;
}
floatsav(base, flt)
float **base, flt;
{
if (_fs_bufcnt >= _fs_buflen) {
_fs_buflen += BUFSIZ;
if (*base == NULL) {
if ((*base = (float *) malloc(BUFSIZ * sizeof(float)))
== NULL)
goto errout;
}
else {
if ((*base = (float *) realloc(*base,
_fs_buflen * sizeof(float))) == NULL)
goto errout;
}
}
(*base)[_fs_bufcnt] = flt;
return(++_fs_bufcnt);
errout: perror("floatsav");
return(-1);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.