malloc/realloc
-
Wenn ich sowas habe:
tmp = realloc(buffer, newlen);
und es gilt (nach Ausfürhung von realloc), dass tmp!=buffer, soll ich dann free(buffer) machen oder wird das automatisch gemacht? Angenommen es handelt sich um char*, hat dann tmp alle andere Elemente von buffer oder muss ich sie kopieren?
-
Oh, ich glaube, ich hab schon aus den man pages:
If the area pointed to was moved, a free(ptr) is done.
also ein free(buffer) wird automatisch gemacht und ich muss nichts mehr kopieren, oder?
-
supertux schrieb:
also ein free(buffer) wird automatisch gemacht und ich muss nichts mehr kopieren, oder?
Exakt. realloc() macht alles alleine...
-
ok, danke.