#include #include #include #include "my_malloc.h" int main(int argc, char *argv[]) { char *a1; char *a2; char *a3; char *a4; /* * must be first call in the program */ InitMyMalloc(); a1 = (char *)MyMalloc(60); if(a1 == NULL) { fprintf(stderr,"call to MyMalloc(60) failed\n"); fflush(stderr); exit(1); } a2 = (char *)MyMalloc(32); if(a2 == NULL) { fprintf(stderr,"first call to MyMalloc(32) failed\n"); fflush(stderr); exit(1); } MyFree(a1); a3 = (char *)MyMalloc(92); if(a3 == NULL) { fprintf(stderr,"call to MyMalloc(92) failed\n"); fflush(stderr); exit(1); } a4 = (char *)MyMalloc(32); if(a4 == NULL) { fprintf(stderr,"second call to MyMalloc(92) failed\n"); fflush(stderr); exit(1); } /* * free it all -- notice that a1 is already free */ MyFree(a2); MyFree(a3); MyFree(a4); return(0); }