Credo che l'errore sia perchè stai assegnando un valore floating point ad un puntatore:
codice:
BOOL GetNumber(struct TDF *IlF,const char *str, double *value)
{
char Buffer[256], *endptr;
int i = 0;
while (*str == ' ') str++;
for (; i < 255 && (isdigit(*str) || *str == '.' || *str == '+' || *str == '-' || *str == 'e' || *str == 'E'); i++, str++)
Buffer[i] = *str;
Buffer[i] = '\0';
*value = strtod(Buffer, &endptr);
return (endptr == Buffer + i && i);
}
Con la modifica che ho apportato dovrebbe andare.
Ciao.