On Wed, Dec 08, 1999 at 01:03:35PM +0100, karl-heinz.fandrey@amd.com wrote:
val = gdbm_fetch(db, key); name = (char*)malloc(val.dsize*sizeof(char)); memcpy(name, val.dptr, val.dsize);
Nach erneuter Lektuere des gdbm-Manuals muss ich sagen, dass ich Unsinn geschrieben habe. Die gdbm_-Funktionen reservieren den Speicherplatz fuer val.dptr (und alle anderen Zeiger) selbst, dafuer muss der Programmierer ihn wieder mit free() freigeben, wenn er ihn nicht mehr benoetigt. Alle anderen DBMs und auch die Kompatibilitaetsfunktionen der GDBM (also die, die nicht mit gdbm_ anfangen) arbeiten genau anders herum, also wie bisher beschrieben. Entschuldigt bitte die Konfusion.
Tschuess Torsten