z3lig ha scritto: > solo ora ho guardato il tuo codice (l'influenza non se ne vuole andare > :-( ....) Urgh. Mi spiace :-( > secondo me quando liberi la memoria con free, > "s" non punta piu' alla memoria che hai creato con la malloc() > ma punta 6 caselle piu' avanti, prova a liberarla cosi' > free(s-6) > io ho provato e non mi da piu' errore :-) Ho modificato cosi' (come dici tu, il puntatore non viene modificato), in modo da risparmiare un'assegnazione: [...] else if (status && !strncmp(s, "From: ", 6)) { s[strlen(s) - 1] = '\0'; msg->from = g_strdup(s + 6); free(s); } [...] e.. funziona! Ho corretto anche le altre, ma mi chiedo: come mai nelle altre, pur spostando il puntatore, non mi dava errore? > cmq bravo, complimenti per il tuo lavoro :-) > se avrai modo di postare altro codice del tuo mailreader ne saremo > felici Grazie mille (per l'aiuto e i complimenti) :-) Postero' senz'altro altro codice, anche per chiedervi altre info e/o aiuti.. O:-) -- Ciaooooo brain - xbrain@xxxxxxxxxx