diff options
Diffstat (limited to 'lib/libF77/F77_aloc.c')
-rw-r--r-- | lib/libF77/F77_aloc.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/libF77/F77_aloc.c b/lib/libF77/F77_aloc.c new file mode 100644 index 0000000..18a345f --- /dev/null +++ b/lib/libF77/F77_aloc.c @@ -0,0 +1,32 @@ +#include "f2c.h" +#undef abs +#undef min +#undef max +#include "stdio.h" + +static integer memfailure = 3; + +#ifdef KR_headers +extern char *malloc(); +extern void exit_(); + + char * +F77_aloc(Len, whence) integer Len; char *whence; +#else +#include "stdlib.h" +extern void exit_(integer*); + + char * +F77_aloc(integer Len, char *whence) +#endif +{ + char *rv; + unsigned int uLen = (unsigned int) Len; /* for K&R C */ + + if (!(rv = malloc(uLen))) { + fprintf(stderr, "malloc(%u) failure in %s\n", + uLen, whence); + exit_(&memfailure); + } + return rv; + } |