Ian Lance Taylor wrote:
Robert Dell <dellr@xxxxxxx> writes:
can somebody please explain why I'm getting this warning?
warning: incompatible implicit declaration of built-in function 'malloc'
char *returnval = 0;
long outputBytes = 0;
... outputBytes gets changed and tested to ensure it's valid (non zero) ...
the offending line is here.
returnval = (char *) malloc(outputBytes + 2);
You are calling the malloc function, but you have not declared it. That
means it gets the type "extern int malloc();". Since you are compiling
in hosted mode (the default), gcc knows that that declaration is
incorrect, and it is warning about that (the correct declaration is
"extern void *malloc(size_t);").
Typically this is fixed by adding
#include <stdlib.h>
to the start of your file.
Ian
see? i thought it would be something simple, that fixed it. thanks.