#include "utility.h" #include <stdio.h> #include <stdlib.h> #include <stddef.h> /*********** like malloc(), but will exit on error ********/ pvoid ctl_malloc(size_t size){ void *ptr = malloc(size); if(ptr == NULL){ ctl_die(CTL_MEMORY); } return ptr; } /********** like realloc(), but will exit on error ********/ pvoid ctl_realloc(pvoid ptr, size_t size){ ptr = realloc(ptr, size); if(ptr == NULL){ ctl_die(CTL_MEMORY); } return ptr; } /*********** like free(), but will return NULL ************/ pvoid ctl_free(pvoid ptr){ free(ptr); return NULL; } /********* print some message on STDERR and exit() ********/ void ctl_die(ErrorType e){ fprintf(stderr, "exit(%d): ", (int)e); switch(e){ case CTL_MEMORY: fprintf(stderr, "bad memory mananger\n"); break; } exit((int)e); }