Ho cambiato il for in

for (i=0;i<=40;i++) {
read(Log,&buff[i],sizeof(char[1]));
if (isspace(buff[i])!=0) break;
}

e funziona, ma appena trovo uno spazio isspace torna 0 e si ferma. Io voglio solo che si fermi se trova \n.
Stranamente col codice di pdpmpd non va, con isspace va ma dà ovviamente questo problema se trovo ' '.

Se metto

for (i=0;i<40;i++) {
read(Log,&buff[i],sizeof(char[1]));
if (isspace(buff[i]) != 0 && buff[i]=='\n') break;
}

VA! Ma non si spiega perchè il codice di pdpmpd non va!

:master: