--- ray/src/common/bmalloc.c 2003/07/17 09:21:29 2.5 +++ ray/src/common/bmalloc.c 2004/10/03 20:48:53 2.8 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: bmalloc.c,v 2.5 2003/07/17 09:21:29 schorsch Exp $"; +static const char RCSid[] = "$Id: bmalloc.c,v 2.8 2004/10/03 20:48:53 schorsch Exp $"; #endif /* * Bmalloc provides basic memory allocation without overhead (no free lists). @@ -27,19 +27,20 @@ static const char RCSid[] = "$Id: bmalloc.c,v 2.5 2003 #define BYTES_WORD sizeof(ALIGNT) static char *bposition = NULL; -static unsigned int nremain = 0; +static size_t nremain = 0; -char * -bmalloc(n) /* allocate a block of n bytes */ -register unsigned int n; +void * +bmalloc( /* allocate a block of n bytes */ +register size_t n +) { if (n > nremain && (n > MBLKSIZ || nremain > MBLKSIZ/WASTEFRAC)) return(malloc(n)); /* too big */ n = (n+(BYTES_WORD-1))&~(BYTES_WORD-1); /* word align */ - if (n > nremain && (bposition = (char *)malloc(nremain = MBLKSIZ)) == NULL) { + if (n > nremain && (bposition = malloc(nremain = MBLKSIZ)) == NULL) { nremain = 0; return(NULL); } @@ -50,13 +51,14 @@ register unsigned int n; void -bfree(p, n) /* free random memory */ -register char *p; -register unsigned int n; +bfree( /* free random memory */ +register void *p, +register size_t n +) { - register unsigned int bsiz; + register size_t bsiz; /* check alignment */ - bsiz = BYTES_WORD - ((unsigned int)p&(BYTES_WORD-1)); + bsiz = BYTES_WORD - ((size_t)p&(BYTES_WORD-1)); if (bsiz < BYTES_WORD) { p += bsiz; n -= bsiz;