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