> strcpy (bfield_data.best_ratio.name, fread_string (fp)); > > Or did you mean: > > char *tmp; > tmp = fread_string (fp); > strcpy (bfield_data.best_ratio.name, tmp); > > Actually, those two above may more or less do the same thing.
Yes and no. In the first case, you have a memory leak. In the second case, you still have tmp to free_string after you've copied it. --Palrich.

