mrice@caen.engin.umich.edu (Michael Rice) (07/30/90)
I wrote the following code to return a char* (a character pointer)
to a string let's say "Michigan". I went through the debugger and
the return value tempv->vname is correct but it returns something
else something like "\eu\r4" which is gibberish to me.
I am mainly calling it like this:
printf("%s",findvolname(temp));
where temp is a ENTRYPTR type... Any ideas what is wrong? I only have
problems when I try to return char*, not when I return integers or floats..
Any help is appreciated...
Here is the function:
#include "prog.h"
#include <stdio.h>
#include <dos.h>
extern VOLUMEPTR topvollist;
char *findvolname(enode)
ENTRYPTR enode;
{
VOLUMEPTR vtemp;
int done = 0;
vtemp = topvollist->nextvolume;
while(vtemp != NULL && !done)
{
if(vtemp->index == enode->volume_index)
{
done = 1;
}
else
{
vtemp = vtemp->nextvolume;
}
}
return(vtemp->vname);
}