diff options
Diffstat (limited to 'games/hack/alloc.c')
-rw-r--r-- | games/hack/alloc.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/games/hack/alloc.c b/games/hack/alloc.c new file mode 100644 index 0000000..d94bf8b --- /dev/null +++ b/games/hack/alloc.c @@ -0,0 +1,47 @@ +/* alloc.c - version 1.0.2 */ +#ifdef LINT + +/* + a ridiculous definition, suppressing + "possible pointer alignment problem" for (long *) malloc() + "enlarg defined but never used" + "ftell defined (in <stdio.h>) but never used" + from lint +*/ +#include <stdio.h> +long * +alloc(n) unsigned n; { +long dummy = ftell(stderr); + if(n) dummy = 0; /* make sure arg is used */ + return(&dummy); +} + +#else + +extern char *malloc(); +extern char *realloc(); + +long * +alloc(lth) +register unsigned lth; +{ + register char *ptr; + + if(!(ptr = malloc(lth))) + panic("Cannot get %d bytes", lth); + return((long *) ptr); +} + +long * +enlarge(ptr,lth) +register char *ptr; +register unsigned lth; +{ + register char *nptr; + + if(!(nptr = realloc(ptr,lth))) + panic("Cannot reallocate %d bytes", lth); + return((long *) nptr); +} + +#endif LINT |