
Tue Oct 15 15:00:11 PDT 2002	Jason Downs (downsj@downsj.com)

	* samp1.cc: Remove.

	* gdbm.3, gdbm.texinfo: 1.8.3.

	* version.c: Version 1.8.3., modernize string (release date is in
	  American format).

	* gdbmreorg.c: Remove small memory leak.

	* Makefile.in: Use more subs from configure, remove mention of SunOS.
	  Add support for spec'ing an install time prefix via INSTALL_ROOT.

	* INSTALL: Remove extra text from top.

	* config.guess, config.sub: Update to latest versions.

	* autoconf.h.in: Regenerate.

	* configure.in: Modernize.

	* systems.h: HAVE_ST_BLKSIZE -> HAVE_STRUCT_STAT_ST_BLKSIZE.

Fri Sep 27 16:12:44 PDT 2002	Jason Downs (downsj@downsj.com)

	* Makefile.in: Remove `info' target from all, since we don't even
	  bother installing the one we built anyway.

	* Fix a few checks against dbf.read_write.

Wed Sep 25 15:19:00 PDT 2002	Jason Downs (downsj@downsj.com)

	* Makefile.in: Remove the dbm and ndbm routines from the main
	  library, moving them to gdbm_compat.  install-compat now
	  installs the compat headers and the library.  Increment the
	  MAJOR number of the shared library due to the removal of
	  the compat functions.

	* gdbm.3, gdbm.texinfo, version.c: 1.8.1; note gdbm_compat.

	* proto.h: Change _gdbm_fatal() to void.

	* update.c(_gdbm_fatal): Change function declaration to void.

	* update.c(_gdbm_fatal): Change default exit status to 1.

	* gdbmopen.c(gdbm_open): Remove setting of flags since we always check
	  it against the mask.

	* testdbm.c, testndbm.c: Added stdlib.h inclusions.

	* falloc.c(push_avail_block): Fixed extremely rare case where the
	  header avail table could fill up, causing us to over flow the
	  table, corrupting memory, and eventually crashing.  Also forced
	  merging of blocks within the scope of this routine (possibly
	  should force them whenever the header avail table is being used).

	* gdbmerrno.c: Fix error count, there are more than 18.

	* gdbmerrno.h: Fix typo; GDBM_OPT_ILLEGAL is 20.

	* gdbmopen.c: Fix typo; s/GDBM_OPENMASK/GDBM_WRITER/.

Tue May 18 19:25:25 PDT 1999	Jason Downs	(downsj@downsj.com)

	* gdbm.3, gdbm.texinfo: Update for 1.8.

	* Makefile.in, configure.in: Switch to using libtool, but without
	  automake.

	* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh: New
	  files (libtool 1.2).

Wed May 12 01:26:15 PDT 1999	Jason Downs	(downsj@downsj.com)

	* gdbmopen.c, gdbmclose.c, gdbmreorg.c: check file_locking before
	  calling locking macros; add support for setting GDBM_NOLOCK in
	  gdbm_open().

	* gdbmdefs.h: add file_locking flag to gdbm_file_info.

	* gdbmconst.h, gdbm.proto: add GDBM_NOLOCK flag.

	* gdbmfdesc.c: new file, adds external gdbm_fdesc() routine.

	* gdbm.proto, gdbm.proto2: clean up, use __P, and compress.

	* gdbmerrno.h: kill the enum, add defines for errors.

	* gdbmsetopt.c, testgdbm.c: support GDBM_SYNC/GDBM_SYNCMODE.

	* gdbmopen.c: gdbm_open() now DEFAULTS to ``fast mode''; use
	  GDBM_SYNC to turn it off.  GDBM_FAST is obsolete and ignored.

	* gdbmconst.h: add GDBM_SYNC and GDBM_SYNCMODE.

	* proto.h, various source files: switch _ARGS to __P.

	* systems.h, various source files: kill word_t, just use int
	  everywhere.

	* configure.in, autoconf.h.in: remove alloca() goo and modernize.

	* many source files: replace all instances of alloca() with real
	  malloc()s and free()s.

	* update.c: don't deref NULL in _gdbm_fatal(), and don't use stdio.

[  The following are entries revived from a dead experimental branch. ]

Tue Nov  1 00:35:11 1994  Jason Downs  (downsj@downsj.com)

	* gdbmopen.c (gdbm_open): actually initialize central_free and
	  coalesce_blocks.

	* gdbmdefs.h: added coalesce_blocks. these should've been bitmapped.
	  oh well.

	* falloc.c (various routines): made block merging an option.

	* gdbmsetopt.c (gdbm_setopt): added GDBM_COALESCEBLKS option.

	* gdbmconst.h: added GDBM_COALESCEBLKS option.

Fri Jun  3 09:45:19 1994  Jason Downs  (downsj@downsj.com)
        
	* falloc.c (_gdbm_free): if central_free is set, all blocks are
	  put into the header.
        
	* gdbmsetopt.c (gdbm_setopt): add GDBM_CENTFREE case.
        
	* gdbmdefs.h, gdbmconst.h, gdbm.proto: add central free option.

Fri Jun  3 05:57:36 1994  Jason Downs  (downsj@downsj.com)

	* falloc.c (pop_avail_block): merge block with header, instead
	  of replace, since header may not be empty any longer.

	* falloc.c (_gdbm_alloc): pop a block off the stack when the
	  current header is half empty, instead of zero.

Fri Jun  3 05:11:33 1994  Jason Downs  (downsj@downsj.com)

	* gdbmstore.c (gdbm_store): don't alloc new disk if we're replacing
	  and the records are the same size. suggested by phil a long time
	  ago.

Fri Jun  3 03:47:46 1994  Jason Downs  (downsj@downsj.com)
        
	* falloc.c (_gdbm_put_av_elem): allow adjacent blocks to be
	  merged. inspired by the enhancement by Tim Howes.

Thu Jun  2 22:15:19 1994  Jason Downs  (downsj@downsj.com)

	* Makefile.in: add installation mode, owner, and group.

Thu Jun  2 04:24:58 1994  Jason Downs  (downsj@downsj.com)

	* Makefile.in: run mkinstalldirs before installing files.

	* mkinstalldirs: new file.

[ End of revived entries. ]

Thu May 19 15:50:04 1994  Jason Downs  (downsj@downsj.com)
	
	* NEWS, README: update to 1.7.3.
	
	* gdbm.texinfo: update to 1.7.3, slight fixes.

	* gdbm.3: update to 1.7.3, slight reformat.

Thu May 19 14:45:51 1994  Jason Downs  (downsj@downsj.com)

	* gdbmconst.h: removed the header magic numbers from this
	  branch.

	* version.c: added an include of autoconf.h, updated version

	* gdbm.proto: added a define for GDBM_FASTMODE.

Sun May 15 02:39:48 1994  Jason Downs  (downsj@downsj.com)

	* gdbm.3, gdbm.texinfo: updates for 1.7.2
	
	* README, NEWS, version.c: update for 1.7.2
	
	* Makefile.in: removed files, changed (drastically) how the
	  package compiles and installs.

	* bytewise.c, bytewise.h: removed from this branch.

Wed Mar 23 00:44:43 1994  Jason Downs  (downsj@downsj.com)

	* extern.h: removed bogus (old) function declarations.

Mon Mar 14 01:37:09 1994  Jason Downs  (downsj@downsj.com)

	* Makefile.in: added new files.

	* bytewise.c, bytewise.h: new portable byte order conversion
	  package; supports 64bit longs/16bit ints.

Sun Mar 13 22:56:10 1994  Jason Downs  (downsj@downsj.com)

	* gdbmsetopt.c, gdbmconst.h: added GDBM_FASTMODE option.

	* falloc.c: taught _gdbm_alloc() about the header avail table.
	  hopefully, this will fix the bloating problem. i dunno, though,
	  as i've never had that problem, myself.

Sun Dec 26 05:17:04 1993  Jason Downs  (downsj@downsj.com)

	* version.c: made gdbm_version const.

	* gdbmerrno.c: made gdbm_strerror() and it's array const.

	* various files: general clean up, reformating of code.

	* systems.h: put <memory.h> inside of a conditional.

	* configure.in, autoconf.h.in: added check for <memory.h>.

	* systems.h: added a default define of SEEK_SET.

	* bucket.c, gdbmopen.c, gdbmseq.c, gdbmdelete.c, gdbmdefs.h:
	  cleaned up some uses of word_t.

Tue Nov 16 03:11:56 1993  Jason Downs  (downsj@downsj.com)

	* gdbm.3, gdbm.texinfo: updated versions to 1.3 for release

	* version.c, README, NEWS: updated versions to 1.7.1 for release

Sun Nov 14 17:21:03 1993  Jason Downs  (downsj@downsj.com)

	* Makefile.in: added $(srcdir) to a few file references.

Sat Nov 13 13:56:37 1993  Jason Downs  (downsj@downsj.com)

	* gdbm.3, gdbm.texinfo: added new gdbm_firstkey()/gdbm_nextkey()
	  documentation.

	* gdbmopen.c: added SGI alloca patch.

	* Makefile.in: changed installation prefix semantics.

Sat Nov 13 01:52:31 1993  Jason Downs  (downsj@downsj.com)

	* various source: redid the AIX alloca declaration. any new files
	  that call alloca will have to start with the same header.

	* all source, configure.in, Makefile.in: switched over to using
	  autoconf.h, rather than packing all of the autoconf defs into
	  the DEFS line.

	* autoconf.h.in: new file.

	* Makefile.in: changed rule for tndbm.o, hopefully making it more
	  portable.

	* alloca.c: added inclusion of stdlib.h

Fri Nov 12 13:11:03 1993  Jason Downs  (downsj@downsj.com)

	* Makefile.in, configure.in: fixed getop related bugs.

	* systems.h: moved sys/types.h include to top.

Wed Nov  3 17:18:59 1993  Jason Downs  (downsj@downsj.com)

	* version.c: changed version to 1.7, for release.

	* gdbmdefs.h: Moved all system includes to systems.h.

Sun Oct 31 02:50:12 1993  Jason Downs  (downsj@downsj.com)

	* version.c: changed version number to 1.7alpha.

	* gdbm.texinfo: updated to reflect new routines and changes.
	
	* getopt.c, getopt.h: Added the GNU getopt.c to the dist, for
	  compilation of testgdbm and conv2gdbm on machines without getopt().
	
	* various source files: changed all appropiate occurances of 'long'
	  to type 'off_t'. Added off_t check to configure.in.

	* gdbm.3: updated to reflect new routines and changes.

Sat Oct 30 05:20:45 1993  Jason Downs  (downsj@downsj.com)

        * testgdbm.c: Added support for bucket cache and block sizes,
	  adding -c, -b and -g flags. Must use -g to specify the file
          name, now.

	* bucket.c, gdbmopen.c, gdbmclose.c, gdbmreorg.c, update.c,
	  gdbmconst.h, gdbmdefs.h: Implemented dynamic, delayed
	  initialization, bucket cache. New routine: _gdbm_init_cache().

	* proto.h, gdbmerrno.c, gdbmerrno.h: Added gdbm_setopt() errors
	  and prototypes.

	* gdbmsetopt.c: New file, implements the gdbm_setopt() routine.

	* testgdbm.c, testndbm.c, testdbm.c, conv2gdbm.c: cleaned up
	  compiler warnings.

	* update.c: repaired declarations and added prototypes for
	  static routines, repaired declaration of _gdbm_fatal().

	* falloc.c: repaired declarations and added prototypes for
	  static routines.

	* gdbmstore.c: commented out unsed variables in gdbm_store().

	* proto.h: added prototypes for _gdbm_read_entry(),
	  _gdbm_find_key(), and gdbm_sync().

	* bucket.c, proto.h: changed _gdbm_get_bucket() and
	  _gdbm_write_bucket() over to type void.

Sat Oct 30 00:56:24 1993  Jason Downs  (downsj@downsj.com)

	* gdbmerrno.c, gdbmexists.c, close.c, dbmrdonly.c: New files,
	  adding the routines gdbm_strerror(), gdbm_exists(), and for
	  better compatibility with the old dbm/ndbm libraries, the
	  dbmclose() and dbm_rdonly() routines.

	* various headers: Added prototypes for the new routines, and
	  rearranged how gdbm.h is generated.

Fri Oct 29 07:02:41 1993  Jason Downs  (downsj@downsj.com)

	* README: split into README, INSTALL, and NEWS.  INSTALL
	  includes more tips on compiling.  NEWS contains the 'short form'
	  ChangeLog.
	
	* Makefile.in, configure.in: Redid parts of the autoconf
	  stuff, and repaired many bugs.

	* systems.h: Repaired the alloca declarations, among other
	  things.

	* various source files: changed all relevant usage of type
	  'long' to type 'word_t', which will always be 32bits wide.
	  'word_t' is defined in systems.h.

Fri Jul 30 13:27:24 1993  Phil Nelson  (phil@cs.wwu.edu)

	* findkey.c: Added a check of elem_loc == -1 in determining if
	  the data cache held the item being looked for.

Tue Jul 20 13:08:47 1993  Phil Nelson  (phil at cs.wwu.edu)

	* gdbm.texinfo: Fixed some errors.

	* Makefile.in: Fixed some errors.

 	* version.c: Set version to 1.6 for release.

Mon Jul 19 15:02:40 1993  Phil Nelson  (phil at cs.wwu.edu)

	* COPYING: Replaced Version 1 with Version 2.  Also updated
	  all file notices to refer to version 2.

	* gdbm.texinfo: Updated the documentation.

	* README: Updated to current version.

	* Makefile: updated clean and install.

Wed Jul 14 13:37:44 1993  Phil Nelson  (phil at cs.wwu.edu)

	* Makfile.in: Added samp1.cc to the list of distributed files.

Sat Jun  5 21:35:59 1993  Phil Nelson  (phil at cs.wwu.edu)

	* gdbm.proto, Makefile.in: Added #ifndef _GDBM_H_ protection
	  for the final gdbm.h file.  Also added prototypes and C++
	  support.

	* gdbmseq.c: Added gdbm_errno initialization to gdbm_nextkey.

	* gdbmerrno.h and others: Moved the extern definition of
	  gdbm_erron to gdbmerrno.h from the other files.

Mon May 17 12:32:02 1993  Phil Nelson  (phil at cs.wwu.edu)

	* gdbm.proto: Added GDBM_FAST to the read_write flags.

Sun May 16 12:50:01 1993  Phil Nelson  (phil at cs.wwu.edu)

	* configure.in, Makefile.in: Added autoconf configuration
	  to gdbm.

Tue Mar 30 00:08:48 1993  Phil Nelson  (phil at cs.wwu.edu)

	* global.c: Set gdbm_errno to GDBM_NO_ERROR to force
	  it into the data segment.

Sun Mar 28 22:51:40 1993  Phil Nelson  (phil at cs.wwu.edu)

	* gdbmfetch.c: Set return_val.dsize to 0 as a default return
	  value.  (I was told that was more compatible with dbm/ndbm.)

	* gdbmopen.c: Changed a "sizeof(int)" to "sizeof(long)".

	* testgdbm.c: Changed "char opt" to "int opt" to make sure
	  opt can be -1.

	* hash.c: Added "unsigned" to declaration of value for
	  better overflow operation.

	* gdbmreorg.c: Added a free for data.dptr in the main loop.
	  Also changed the malloc for new_name to an alloca.
	  Removed all frees on new_name.

Sat Mar 27 23:25:14 1993  Phil Nelson  (phil at cs.wwu.edu)

	* gdbmconst.h, gdbmdefs.h, gdbmopen.c, gdbmreorg.c,
	  testgdbm.c, update.c, gdbm.h: Added code to allow for a
	  GDBM_FAST mode in which fsync is not called during
	  database update mode. Added a new flag "-f" to 
	  testgdbm to make use of the new fast mode.

	* gdbmsync.c: Added this function to allow a programmer
	  to use the GDBM_FAST mode but still be able to sync
	  a database.

	* gdbmopen.c, gdbmdelete.c, gdbmfetch.c, gdbmseq.c, gdbmstore.c,
	  gdbmreorg.c: Added initialization of gdbm_errno to GDBM_NO_ERROR.

Mon Mar 22 23:03:36 1993  Phil Nelson  (phil at cs.wwu.edu)

	* gdbmclose.c: (gdbmclose) Added a fsync before close to make
	  sure the file is written to disk before continuing.

Sun Mar 21 21:33:31 1993  Phil Nelson  (phil at cs.wwu.edu)

	* proto.h: Added this as a new file.  It adds ANSI prototypes
	  for ANSI compilers.

	* gdbmdefs.h: Added an include of proto.h.

	* Makefile: Added proper references to proto.h

	* gdbmopen.c: Changed (int *) casts to (long *) and added
	  an initialization to dbf->header.

	* gdbmreorg.c: Added an "end update" on the new database and
	  correctly set up the bucket cache.

	* update.c: (_gdbm_end_update) Added type void to header.

Wed Mar 17 19:14:27 1993  Phil Nelson  (phil at cs.wwu.edu)

	* Changed copyright on all files to include 1993.  Also deleted
	  all references to my phone number.

Thu Feb 28 17:05:09 1991  Phil Nelson  (phil at strawberry.cs.wwu.edu)

	* Added 1991 to copyright lines on all files.

	* gdbmfetch.c: Fixed a bug introduced by previous changes.

	* version.c:  Updated version to 1.5.

Fri Feb  8 12:27:13 1991  Phil Nelson  (phil at strawberry.cs.wwu.edu)

	* Change author's e-mail address in all comments.

	* gdbmopen.c, systems.h: Changed opening sequence so that a
	  database will not be truncated in NEWDB mode until the
	  write has locked the file.

	* testgdbm.c: Fixed a bug that caused a segmentation fault on
	  one computer.  Also added the flags "-r" for opening the
	  database as a READER and "-n" for opening the database as
	  a NEWDB writer.  The default mode remains the WRCREAT mode.

	* Various source files, changed the data types of various
	  variables from int to long.  This should not make any difference
	  to systems where sizeof(int) = sizeof(long).  It should make
	  it easier to move to other systems.

	* gdbmstore.c: Added a check for NULL key or content dptr.  Due to
	  NULLs being used as error indications, data cannot be NULL also.

	* gdbmfetch.c, gdbmseq.c, fetch.c: Added checks for zero sized
	  key and content so malloc will not try to allocate zero bytes.

        * gdbmconst.h: Added this file so that all constants are in one
	  central place.  A few constants can be changed without changing
	  the header sizes.

Tue Aug 14 13:08:43 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* Version 1.4 released.  (version.c: Updated to correct version.)

	* Makefile: Added $(LIBS) to link for conv2gdbm.

	* README: Updated to version 1.4 and added a 1.0-1.4 change
	  statement.

Wed Aug  8 16:57:29 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* gdbmopen.c: Restructured some code to initialize dbf
	  more completely.

	* dbm.h: Added a null define to satisfy some versions that
	  require a dbmclose() call.

	* findkey.c: (_gdbm_findkey) Added a check for the NULL
	  pointer in ...ca_data.dptr.

	* gdbmdelete.c: Added code to more completely remove the
	  cache entry for a deleted item.

	* gdbmreorg.c: Added code to finish the transfer of information
	  from the new_dbf to the orginal dbf.

Fri May 30 08:29:16 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* gdbmstore.c: Changed a strncpy to bcopy.

Tue May 15 09:55:21 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* Version 1.3 released.

	* systems.h: Changed the defines for alloca to use the
	  name builtin_alloca to depend on BUILTIN_ALLOCA instead
	  of __GNUC__.  Added a definition of BUILTIN_ALLOCA for
	  GNUC and for sun sparc.

Fri May 11 12:15:56 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* systems.h: Removed the include for <sys/types> and now
	  systems.h requires <sys/types> included before it.

	* Makefile: Corrected the makefile to include a file that
	  was missing before.  Also, switched order of conv2gdbm
	  and alldbm in the all option.

	* findkey.c (_gdbm_read_entry): Reordered some statements
	  to make the code more readable.

	* update.c (_gdbm_fatal): Changed fatal message from "dbm fatal:"
	  to "gdbm fatal:".

Mon Apr 30 10:18:24 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* Version 1.2 released.

Fri Apr 27 09:49:59 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* Makefile: Added the dist option.  Similar to the 
	  addition from hack@ai.mit.edu, but correct.

	* falloc.c (push_avail_block):  Change the avail count
	  to reflect the correct number of entries.

	* dbminit.c (dbminit): Changed the stat call to stat the
	  ".dir" file as is done in dbmopen.c (dbm_open).

Tue Apr 10 12:18:40 1990  Phil Nelson  (phil at unicorn.wwu.edu)

	* Version 1.1. released.

	* gdbmopen.c (gdbm_open): Clear out bucket cache.



