#include #include "memory.h" #undef memdup void* memdup(void *buf, size_t num){ if(buf == NULL) return NULL; char *buf2 = malloc(num, char); memcpy(buf2, buf, num); return (void*)buf2; } void* check_after_allocation(const char *funcname, void *ptr){ if(ptr == NULL){ perror(funcname); exit(1); } return ptr; }