Diky!
A kdyz zavolam free(p): free uvolni pamet, ale p porad ukazuje na uvolnene misto. Musim do "p" jeste ulozit NULL kvuli dalsi nove alokaci? Protoze v mym programu v dalsim prubehu cyklu znovu volam malloc, ktera ne vzdy alokuje stejne mnozstvi pameti...
Da se tedy rict, ze nasledujici kod je v poradku?
fgets(nacteno, MAX_DELKA_VSTUPU, soubor);
if(strlen(nacteno) == 1) {
printf("konec.");
break;
}
nacteno[strlen(nacteno)-1] = '\0';
radka = (char *) malloc(sizeof(char) * (strlen(nacteno) + 1));
strncpy(radka, nacteno, strlen(nacteno));
zpracuj(radka);
free(radka);