On Thu, 2 Jun 2005, Pouech Eric DMI AEI CAEN wrote:
returning a pointer to something on the stack is something I call an error (how do you ensure that the buffer will not get overwritten by another function call ?)
It's not returning a pointer to something on the stack. It is returning driversFound[0] which is a pointer to a string which may have been malloc()'ed (you stripped that part of the code).
char *audioAutoDetect(void) { [snip] char *driversFound[10]; [snip]
maybe driversFound[0]=malloc(something);
return driversFound[0]; [snip] }