|
|
1.1 ! root 1: /* ! 2: * storage allocator ! 3: * ! 4: * calls malloc or realloc and aborts if unsuccessful ! 5: */ ! 6: ! 7: #include "asd.h" ! 8: #include <stdio.h> ! 9: ! 10: char *malloc(), *realloc(); ! 11: ! 12: char * ! 13: alloc (n) ! 14: unsigned n; ! 15: { ! 16: register char *p; ! 17: ! 18: p = malloc (n); ! 19: schk (p); ! 20: return p; ! 21: } ! 22: ! 23: char * ! 24: ralloc (s, n) ! 25: char *s; ! 26: unsigned n; ! 27: { ! 28: register char *p; ! 29: ! 30: if (s == NULL) ! 31: return alloc (n); ! 32: ! 33: p = realloc (s, n); ! 34: schk (p); ! 35: return p; ! 36: } ! 37: ! 38: /* return a copy of a string */ ! 39: char * ! 40: copy (s) ! 41: register char *s; ! 42: { ! 43: register char *r; ! 44: r = alloc ((unsigned) (strlen (s) + 1)); ! 45: strcpy (r, s); ! 46: return r; ! 47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.