il codice inserito funziona perfetamente... ma se lo coppio e basta non imparo niente!! quindi ho visto bene cosa hai fatto tu e ne ho riscrito uno mio... come era ovvio funziona male!!

e non riesco a capire dove sbaglio???


char * read_line (FILE *f)
{
char *buf = malloc(10), *p;
int len = 0 , grd = 10;

do {

fgets(&buf[len], grd , f);

//puts(buf);

p = strchr ( buf , '\n');

if ( p == NULL) {
len += strlen(buf);
grd += 10;
7/ printf("%d, %d\n", grd, len);
buf = (char *) realloc(buf, grd);

}

}while( p == NULL);

return buf;
}