This version of sdbm merely has all the dbm_* names translated to sdbm_*
so that we can link ndbm and sdbm into the same executable.  (It also has
the bad() macro redefined to allow a zero-length key.)


Fri Apr 15 10:15:30 EDT 1994.

Additional portability/configuration changes for libsdbm by Andy Dougherty
doughera@lafayette.edu.


Mon Mar 22 03:24:47 PST 1999.

sdbm_exists added to the library by Russ Allbery <rra@stanford.edu>.


Fri Aug  8 18:29:39 CEST 2008

Taken out of the Perl 5.10.0 distribution in /ext/SDBM_File/sdbm by
Raphael Manfredi <Raphael_Manfredi@pobox.com> and slightly adapted
for inclusion in gtk-gnutella.

The file sdbm.h was heavily edited to remove perl-isms, and the sdbm.c
file changed slightly to add gtk-gnutella-isms.

The standalone C programs do not compile as-is but were left to keep the
integrity of the original sdbm distribution.


Thu Aug 14 09:29:46 CEST 2008

Christian Biere brought up SDBM distribution to gtk-gnutella standards.

 * Prefixed all public SDBM macros with "DBM_".
 * Removed "register" keyword.
 * Removed unnecessary "(void)" in front of function calls.
 * struct DBM:
   * Keep implementation details hidden in sdbm.c.
   * Sorted members by size for compactness.
   * Allocate extra buffers for pagbuf and dirbuf
     because the code expects these to be aligned
     for "short int".
 * Replaced macros by (static inline) functions where possible.
 * Removed comma-operator. This should be reserved to macros
   or the like where it may be necessary and not used to save
   lines or look fancy.
 * sdbm_store(): val.dptr must be a valid pointer and non-NULL
   because the internal code uses memcpy() etc. without further
   checks.
 * Added sdbm_is_storable() to avoid integer overflows when
   calculating the required space.
 * sdbm_open():
   * Compose the filenames properly.
   * Additional file type and size checks.


Thu Aug 14 09:29:46 CEST 2008

Changes from Raphael Manfredi <Raphael_Manfredi@pobox.com>:

* Fixed bug in getnext(), which flagged an I/O error when iterating over
  an empty database.
* Indented all comments within a function to match general gtk-gnutella style.
* Added trailing vi comments for VIM.

