ref: 64e312636599ea2c86f21dc1176dca7da77bd74a
dir: /CHANGES/
July 2025: o Ported to 9front o 'Upgraded' from K&R to function prototypes o Increased PBLKSIZ to 2048 o Changed PAIRMAX to PBLKSIZ - 16 rather than hard-coded o DBLKSIZ set to 16K to match cwfs block size o dbu uses arg(2) instead of getopt June 1997: o fixed a long-hidden memmove bug in delpair that causes database corruption in MEMMOVE versions of sdbm. [sdbm defaults to duff's device to move data, so memmove version is almost never used.] Changes from the earlier BETA releases. o dbm_prep does everything now, so dbm_open is just a simple wrapper that builds the default filenames. dbm_prep no longer requires a (DBM *) db parameter: it allocates one itself. It returns (DBM *) db or (DBM *) NULL. o makroom is now reliable. In the common-case optimization of the page split, the page into which the incoming key/value pair is to be inserted is write-deferred (if the split is successful), thereby saving a cosly write. BUT, if the split does not make enough room (unsuccessful), the deferred page is written out, as the failure-window is now dependent on the number of split attempts. o if -DDUFF is defined, hash function will also use the DUFF construct. This may look like a micro-performance tweak (maybe it is), but in fact, the hash function is the third most-heavily used function, after read and write.