vinoski@apollo.HP.COM (Stephen Vinoski) (04/19/91)
After applying the new patches for Perl 4.0 I still had trouble building on my Apollo DN3500 using cc 6.8. The ANSI C compiler doesn't like the function parameter mismatches for free() and realloc(). I suspect other systems will have the same problem, so I have included an unofficial patch to correct the problem. Also, Configure incorrectly guessed that our malloc() returns char * when it really returns void *. Nothing my editor couldn't fix, though. -steve *** malloc.c.broken Thu Apr 18 14:26:47 1991 --- malloc.c Thu Apr 18 14:28:31 1991 *************** *** 108,115 **** --- 108,119 ---- #endif MALLOCPTRTYPE * + #ifdef __STDC__ + malloc(size_t nbytes) + #else malloc(nbytes) register unsigned nbytes; + #endif { register union overhead *p; register int bucket = 0; *************** *** 230,237 **** --- 234,245 ---- } void + #ifdef __STDC__ + free(void *cp) + #else free(cp) char *cp; + #endif { register int size; register union overhead *op; *************** *** 277,285 **** --- 285,297 ---- int reall_srchlen = 4; /* 4 should be plenty, -1 =>'s whole list */ MALLOCPTRTYPE * + #ifdef __STDC__ + realloc(void *cp, size_t nbytes) + #else realloc(cp, nbytes) char *cp; unsigned nbytes; + #endif { register u_int onb; union overhead *op; | Steve Vinoski (508)256-0176 x5904 | Internet: vinoski@apollo.hp.com | | HP Apollo Division, Chelmsford, MA 01824 | UUCP: ...!apollo!vinoski | | "The price of knowledge is learning how little of it you yourself harbor." | | - Tom Christiansen |