zodpovednost za uvolneni pameti po volani gethostbyname, getpwuid...
Jirka Kosina
jikos na jikos.cz
Úterý Prosinec 3 00:12:30 CET 2002
On Mon, 2 Dec 2002, kratochvil jiri wrote:
> > > mpatrol a zustava mi tam neco vyset. Musim nebo nesmim tu pamet uvolnit
> > > ja.
> > funkce se pouziva ta sama struktura - tedy pokud si chcete ziskane
> > informace pamatovat, musite si je nekam ulozit ve vlastni rezii, protoze
> to zrovna v man pisou dokonce ze by se mela delat deep copy kvuli
> pointrum.
Hm, v me manualove strance to tedy nepisou. ;)
> Me by zajimali i dalsi funkce jako treba prave getpwuid(). Nebo mam
> predpoklat ze u vsech fci u kterych neni defaultne napsano tohle musite
> uvolnit proste uvolnovat nemusim?
Asi ano. Neni tam napsano nic -> nemuzete predpokladat, ze muzete volat
free(). Ale uznavam, ze je to velice obskurni.
Na druhou stranu to zjistite snadno sam i bez cteni zdrojaku glibc - pokud
dve volani teze funkce po sobe vrati stejny pointer, je to staticke, jinak
je to dynamicke. ;)
Nicmene v dokumentaci k libc to samozrejme je:
- Function: struct passwd * getpwuid (uid_t UID)
This function returns a pointer to a statically-allocated structure
containing information about the user whose user ID is UID. This
structure may be overwritten on subsequent calls to `getpwuid'.
--
JiKos.
Další informace o konferenci Linux