#include #include extern const char *__progname; #include "mcc.h" #include "alloc.h" static void write_2_dec(int n) { if (n >= 10) { write_2_dec(n/10); n %= 10; } write(2,"0123456789"+n,1); } void *chkmalloc(int nb) { void *rv; if (nb < 0) panic(); rv = malloc(nb); if (! rv) { write(2,"malloc(",7); write_2_dec(nb); write(2,") failed\n",9); exit(1); } return(rv); } void *chkrealloc(void*blk, int nb) { void *rv; if (nb < 0) panic(); rv = realloc(blk,nb); if (! rv) { write(2,"realloc(,",9); write_2_dec(nb); write(2,") failed\n",9); exit(1); } return(rv); } void chkfree(void *blk) { free(blk); }