Ja chyba w C czegos nie kumam
floydrose
floydrose w gazeta.pl
Czw, 14 Kwi 2005, 00:18:43 CEST
Tomasz Narloch napisał(a):
> char *home = getenv("HOME");
> char *FIFOR = malloc(sizeof(home)+20);
> char *FIFOW = malloc(sizeof(home)+20);
Na moje oko to źle alokujesz pamięć. Sizeof zwraca rozmiar argumentu a u
ciebie argumentem jest wskaźnik - czyli jakieś 4B. Do pobierania
długości napisów służy funkcja strlen(napis) i jej powinieneś tu użyć.
Jak się pisze po pamięci której się nie zaalokowało to różne jaja mogą
wyjść, np. tak jak u Ciebie.
Polecam Electric Fence'a - on takie kwiatki wykrywa w mig.
pozdrawiam
floydrose
Więcej informacji o liście dyskusyjnej pld-users-pl