Project gdbm

gdbm

1.24  —  2024-07-02
* New gdbm_load option: --update

The --update (-U) option instructs gdbm_load to update an existing
database.

* Fix semantics of gdbm_load -r

The --replace (-r) is valid only when used together with --update.

* Use getline in gdbmtool shell.

* New function: gdbm_load_from_file_ext

In contrast to gdbm_load and gdbm_load_from_file, which derive
the value of the flag parameter for gdbm_open from the value
of their "replace" argument, this function allows the caller to
specify it explicitly.  The prototype is:

  int gdbm_load_from_file_ext (GDBM_FILE *pdbf, FILE *fp,
			       int flags, int replace,
			       int meta_mask,
			       unsigned long *line);

* Bugfixes

** Fix binary dump format for key and/or data of zero size.
   (see https://puszcza.gnu.org.ua/bugs/?565)
** Fix location tracking and recover command in gdbtool.
   (see https://puszcza.gnu.org.ua/bugs/?566)
** Fix possible buffer underflow in gdbmload.
** Ensure any padding bytes in avail_elem structure are filled with 0.
   (fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031276)
** Improve the documentation.
	  

GNU dbm is a library of database functions that use extendible hashing and works similar to the standard UNIX dbm functions. These routines are provided to a programmer needing to create and manipulate a hashed database.