alloc.c 784 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* $Id$ */
  2. #include "debug.h"
  3. #include "global.h"
  4. #include "alloc.h"
  5. extern char *malloc();
  6. extern char *realloc();
  7. char *Malloc(sz, descr)
  8. size sz;
  9. char *descr;
  10. {
  11. register char *new = malloc((unsigned int) (sz));
  12. if (new == (char *) 0 && descr != (char *) 0)
  13. fatal("Cannot allocate %s", descr);
  14. #ifdef DB_MALLOC /* from debug.h */
  15. /* fill area with recognizable garbage */
  16. { register char *p = new;
  17. register size i = sz;
  18. register char ch = 0252;
  19. if (p) {
  20. while (i--) {
  21. *p++ = ch;
  22. ch = ~ch;
  23. }
  24. }
  25. }
  26. #endif /* DB_MALLOC */
  27. return new;
  28. }
  29. char *Realloc(old, sz, descr)
  30. char *old;
  31. size sz;
  32. char *descr;
  33. {
  34. register char *new = realloc(old, (unsigned int) (sz));
  35. if (new == (char *) 0)
  36. fatal("Cannot reallocate %s", descr);
  37. return new;
  38. }