Main Page   Data Structures   File List   Data Fields   Globals  

mymalloc.c

Go to the documentation of this file.
00001 /*----------------------------------------------------------------------------*/
00002 /* SCCS Information: %W%    %G% */
00003 /*----------------------------------------------------------------------------*/
00004 #include "mymalloc.h"
00005 #include <stdio.h>
00006 #include <malloc.h>
00007 
00008 void **mymalloc(int size, int n1, int n2)
00009 {
00010   int i;
00011   void **p, *p1;
00012   
00013   p1 = (void *) calloc(n1 * n2, size);
00014   if (p1 == NULL)
00015     {
00016       printf("Can't allocate mymalloc(%d, %d, %d)\n", size, n1, n2);
00017       exit(1);
00018     }
00019   p = (void **) malloc(n1 * sizeof(void *));
00020   if (p == NULL)
00021     {
00022       printf("Can't allocate mymalloc(%d, %d, %d)\n", size, n1, n2);
00023       exit(1);
00024     }
00025   p--;
00026   for (i = 1; i <= n1; i++)
00027     p[i] = (void *) ((long) p1 + n2 * size * (i - 1) - size);
00028   
00029   return p;
00030 }
00031 

Generated on Wed Feb 19 22:26:50 2003 for Markers by doxygen1.2.18