Imported Upstream version 1.10
[platform/upstream/gdbm.git] / ChangeLog
1 2011-11-13  Sergey Poznyakoff  <gray@gnu.org.ua>
2
3         Version 1.10
4
5         * NEWS: Raise version number.
6         * configure.ac: Raise version number.
7
8 2011-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>
9
10         Implement cloexec in gdbm_reorganize.  Add test cases.
11         
12         * compat/dbmopen.c: Apply O_CLOEXEC to newly created dir
13         file, if requested.
14
15         * src/gdbmdefs.h (gdbm_file_info) <cloexec>: New member.
16         * src/gdbmopen.c (gdbm_open): Initialize cloexec member.
17         * src/gdbmreorg.c (gdbm_reorganize): Propagate cloexec bit
18         to the new database.
19
20         * tests/.cvsignore: Update.
21         * tests/cloexec00.at: New test case.
22         * tests/cloexec01.at: Likewise.
23         * tests/cloexec02.at: Likewise.
24         * tests/cloexec03.at: Likewise.
25         * fdop.c: New auxiliary program.
26         * g_open_ce: New test program.
27         * g_reorg_ce: New test program.
28         * d_creat_ce: New test program.
29         * tests/Makefile.am: Add new test cases and test programs.
30         * tests/testsuite.at: Include new test cases.
31         * doc/gdbm.texinfo: Minor change.
32         
33 2011-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34
35         Use SEEK_SET instead of L_SET in all sources.
36
37 2011-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>
38
39         Support close-on-exec flag for gdbm_open call.
40         
41         * src/gdbm.h.in (GDBM_CLOEXEC): New flag.
42         * src/systems.h [O_CLOEXEC]: Provide a placeholder definition.
43         
44         * src/gdbmopen.c (gdbm_open): Honor the GDBM_CLOEXEC flag.
45         * compat/dbmopen.c (ndbm_open_dir_file0): Mask out open mode
46         before comparing with GDBM_READER.
47         Support GDBM_CLOEXEC.
48         (dbm_open): Translate O_CLOEXEC to GDBM_CLOEXEC.
49
50         * doc/gdbm.texinfo: Document GDBM_CLOEXEC.
51         
52         * NEWS: Update.
53         
54 2011-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>
55
56         Fix handling of NDBM databases in read-only mode.
57         
58         * compat/dbmopen.c (ndbm_open_dir_file0): Open dir file in
59         read-only mode if the database is being opened as GDBM_READER.
60         * tests/dbmcvt.at: New file.
61         * tests/dbmfetch02.at: New file.
62         * tests/dbmfetch03.at: New file.
63         * tests/Makefile.am (TESTSUITE_AT): Add new files.
64         * tests/testsuite.at: Include new testcases.
65
66 2011-10-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67
68         Fix bug #150.
69
70         Tolerate I/O operations returning less bytes than expected.  Retry I/O
71         if possible.
72         
73         * src/fullio.c: New file.
74         * src/Makefile.am (libgdbm_la_SOURCES): Add fullio.c
75         * src/proto.h (_gdbm_full_read)
76         (_gdbm_full_write): New protos.
77         * src/gdbmerrno.c (gdbm_errlist): Add entry for GDBM_FILE_EOF.
78
79         * src/bucket.c: Use _gdbm_full_{read|write}.
80         * src/falloc.c: Likewise.
81         * src/findkey.c: Likewise.
82         * src/gdbmopen.c: Likewise.
83         * src/gdbmstore.c: Likewise.
84         * src/testgdbm.c: Likewise.
85         * src/update.c: Likewise.
86         
87 2011-10-05  Sergey Poznyakoff  <gray@gnu.org.ua>
88
89         * src/gdbmopen.c (gdbm_open): Initialize memory used for file
90         header.  This fixes bug #151.
91
92 2011-08-24  Sergey Poznyakoff  <gray@gnu.org.ua>
93
94         Implement multi-character commands in testgdbm.
95         
96         * bootstrap (get_po): Discard output from cmp.
97         * src/testgdbm.c: Implement multi-character commands.
98         * doc/gdbm.texinfo: Update.
99
100 2011-08-18  Sergey Poznyakoff  <gray@gnu.org.ua>
101
102         * bootstrap: Get PO files; create LINGUAS list
103         * po/.cvsignore: Add LINGUAS.
104
105 2011-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>
106
107         Make sure errno is preserved, if it can contain details about the
108         gdbm error.
109         
110         * src/gdbmdefs.h (SAVE_ERRNO): New macro.
111         * src/gdbmopen.c: Use SAVE_ERRNO where it is important to
112         preserve system errno.
113         * src/mmap.c: Likewise.
114                 
115         * doc/gdbm.texinfo: Document which gdbm errors can
116         be detailed by inspecting the system errno.
117
118 2011-08-17  Sergey Poznyakoff  <gray@gnu.org.ua>
119         
120         Introduce new error code.
121         
122         * configure.ac, NEWS: Raise patchlevel to 90.
123         * src/gdbm.h.in: Enclose entire file in conditional
124         extern "C".
125         (GDBM_FILE_STAT_ERROR): New error code.
126         (_GDBM_MAX_ERRNO): Update.
127         * src/gdbmerrno.c (gdbm_errlist): Update.
128         * src/gdbmopen.c: Set GDBM_FILE_STAT_ERROR on fstat
129         failure.
130         * src/gdbmreorg.c: Likewise.
131         * src/mmap.c: Likewise.
132         * src/systems.h: Include errno.h
133         * gdbm.texinfo: Document GDBM_FILE_STAT_ERROR.
134         
135 2011-08-16  Sergey Poznyakoff  <gray@gnu.org.ua>
136
137         Minor housekeeping for Gnits compliance.
138         
139         * README-alpha: New file.
140         * README-hacking: New file.
141         * bootstrap: Update.
142
143 2011-08-16  Sergey Poznyakoff  <gray@gnu.org.ua>
144
145         Internationalization.
146         
147         * Makefile.am (SUBDIRS): Add po.
148         (EXTRA_DIST): Add build-aux/config.rpath.
149         * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
150         * bootstrap: New file.
151         * src/Makefile.am (AM_CPPFLAGS): Define LOCALEDIR
152         (noinst_HEADERS): Add gettext.h
153         (LIBADD): New variable.
154         * src/gettext.h: New file.
155         * po/.cvsignore: New file.
156         * po/Makevars: New file.
157         * po/POTFILES.in: New file.
158         * src/gdbmdefs.h: Define DEFAULT_TEXT_DOMAIN, _, N_
159         Include gettext.h
160         * src/bucket.c: Add NLS markers.
161         * src/falloc.c: Likewise.
162         * src/findkey.c: Likewise.
163         * src/gdbmerrno.c: Likewise.
164         * src/gdbmfetch.c: Likewise.
165         * src/gdbmseq.c: Likewise.
166         * src/gdbmstore.c: Likewise.
167         * src/update.c: Likewise.
168         * src/testgdbm.c: Add NLS markers.
169         (main): Initialize I18N.
170
171 2011-08-14  Sergey Poznyakoff  <gray@gnu.org.ua>
172
173         * compat/Makefile.am (libgdbm_compat_la_LIBADD): Link against
174         libgdbm. Suggested by Adam Sampson.
175
176 2011-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>
177
178         Improve release checking: use gnits.
179         
180         * configure.ac (AM_INIT_AUTOMAKE): Use gnits.
181         (AC_INIT): Remove extra quoting from around version number
182         to pacify gnits.
183         * THANKS: New file.
184
185 2011-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>
186         
187         Verify preprocessor directives. Pass them through cppi to
188         reflect their nesting level. Affected files:
189
190         * src/flatfile.c
191         * src/gdbmconst.h
192         * src/gdbm.h.in
193         * src/gdbmconst.h
194         * src/gdbmopen.c
195         * src/gdbmreorg.c
196         * src/lock.c
197         * src/mmap.c
198         * src/systems.h
199         * src/testgdbm.c
200
201 2011-08-13  Sergey Poznyakoff  <gray@gnu.org.ua>
202
203         * NEWS, configure.ac: Version 1.9.1
204
205 2011-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
206         
207         Bugfixes (pointed out by Matthew Burgess
208         <matthew@linuxfromscratch.org>).
209         
210         * src/gdbmopen.c: Fix a typo.
211         * tests/Makefile.am ($(srcdir)/package.m4): Fix improper
212         dependency.
213         
214 2011-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>
215
216         Release 1.9
217
218 2011-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>
219
220         Add testcases for gdbm_setopt.
221         
222         * tests/gtopt.c: New file
223         * tests/.cvsignore: Update.
224         * tests/setopt00.at: New testcase.
225         * tests/setopt01.at: New testcase.
226         * tests/Makefile.am: Build gtopt. Add setopt00.at and setopt01.at.
227         * tests/testsuite.at: Include setopt00.at and setopt01.at.
228         
229 2011-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>
230         
231         New option GDBM_GETDBNAME.
232         
233         * src/gdbm.h.in (GDBM_GETDBNAME): New option.
234         * src/gdbmsetopt.c (gdbm_setopt): Handle GDBM_GETDBNAME.
235         * doc/gdbm.texinfo (Options): Document GDBM_GETDBNAME.
236
237 2011-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>
238         
239         Improve gdbm_setopt interface.
240         
241         * src/gdbm.h.in (GDBM_OPENMASK): New constant.
242         * src/gdbmconst.h: Remove constants duplicated in
243         gdbm.h.in.
244         * src/gdbmdefs.h (gdbm_file_info) <allow_mmap>
245         <mmap_inited>: Replace with a single member: memory_mapping.
246         All callers updated.
247         (GDBM_SETCACHESIZE,GDBM_SETSYNCMODE)
248         (GDBM_SETCENTFREE,GDBM_SETCOALESCEBLKS): New option names.
249         (GDBM_SETMMAP,GDBM_GETMMAP,GDBM_GETFLAGS)
250         (GDBM_GETCACHESIZE,GDBM_GETSYNCMODE,GDBM_GETCENTFREE)
251         (GDBM_GETCOALESCEBLKS,GDBM_GETMAXMAPSIZE): New option codes.
252         * src/gdbmsetopt.c: Implement new options.
253         * doc/gdbm.texinfo: Document new options.
254
255 2011-08-11  Sergey Poznyakoff  <gray@gnu.org.ua>
256         
257         Improve memory mapping support.
258
259         The new code is more flexible and performs better when
260         lots of inserts are being made (e.g. when populating the
261         database with new data).
262         
263         * src/gdbm.h.in (GDBM_SETMAXMAPSIZE): New constant.
264         * src/gdbmconst.h (SIZE_T_MAX): New define.
265         * src/gdbmdefs.h (gdbm_file_info) <cache_size>: Change type
266         to size_t.
267         <mmap_inited,mapped_size_max>: New member.
268         <mapped_remap>: Remove.
269         * src/gdbmopen.c: Fix a typo.
270         (gdbm_open): Initialize new members.
271         (_gdbm_init_cache): Second argument is size_t.
272         * src/gdbmsetopt.c (gdbm_setopt): Optval argument is void*.
273         Handle GDBM_SETMAXMAPSIZE.
274         Improve error checking.
275         * src/mmap.c (_GDBM_IN_MAPPED_REGION_P): Fix comparison with
276         the lower bound.
277         (_GDBM_NEED_REMAP): Return true if mapped_region is NULL.
278         (SUM_FILE_SIZE): Rewrite.
279         (_gdbm_mapped_unmap): Don't call msync.
280         (_gdbm_internal_remap): Take 2 arguments, the second one
281         giving the new mapped size.
282         Unmap the region prior to remapping it.
283         Always pass NULL as the argument to mmap.
284         (_gdbm_mapped_remap): Rewrite the logic. Change semantics of the
285         third argument. All uses updated.
286         (_gdbm_mapped_init): Reflect the above changes.
287         (_gdbm_mapped_read,_gdbm_mapped_write): Use mmap_inited to decide
288         whether to use mmap, because mapped_region can be reset to zero
289         by another functions (namely, _gdbm_mapped_lseek).
290         Reset mmap_inited to FALSE, if _gdbm_mapped_remap fails.
291         (_gdbm_mapped_lseek): Rewrite offset computations. Invalidate
292         the mapped region.
293         * src/proto.h (_gdbm_init_cache): Change prototype.
294         * src/update.c (write_header, _gdbm_end_update): Remove checks
295         for dbf->mapped_region.
296         * tests/gtload.c: Implement the -maxmap option (set maximal
297         mapped memory size).
298         
299         * doc/gdbm.texinfo: Document GDBM_SETMAXMAPSIZE.
300
301 2011-08-09  Sergey Poznyakoff  <gray@gnu.org.ua>
302
303         Update the docs.
304
305         * doc/gdbm.texinfo: Document compatibility functions,
306         provide more cross-references.
307         
308 2011-08-09  Sergey Poznyakoff  <gray@gnu.org.ua>
309
310         Implement dbm_error and dbm_clearerr.
311         
312         * compat/ndbm.h (__gdbm_error_to_ndbm): New macro
313         (dbm_error,dbm_clearerr): Provide prototypes instead of
314         the macros.
315         (DBM) <_dbm_errno>: New member.
316         * compat/dbmerr.c: New file.
317         * compat/Makefile.am (NDBM_CF): Add dbmerr.c
318         * compat/dbmdelete.c: Make sure _dbm_errno reflects the
319         actual error state.
320         * compat/dbmfetch.c: Likewise.
321         * compat/dbmseq.c: Likewise.
322         * compat/dbmstore.c: Likewise.
323
324 2011-08-08  Sergey Poznyakoff  <gray@gnu.org.ua>
325
326         Provide test group descriptors in the testsuite.
327         
328         * tests/atlocal.in (XFAILFILE): Remove.
329         * tests/version.at: Don't create XFAILFILE.
330         * tests/testsuite.at: Add test group banners 
331         * tests/dbmcreate00.at (AT_SETUP): Change description.
332         * tests/dbmdel00.at: Likewise.
333         * tests/dbmdel01.at: Likewise.
334         * tests/dbmdel02.at: Likewise.
335         * tests/dbmfetch00.at: Likewise.
336         * tests/dbmfetch01.at: Likewise.
337         
338 2011-08-07  Sergey Poznyakoff  <gray@gnu.org.ua>
339
340         * src/testgdbm.c: Change internal command invocation
341         mechanism: the begin handler (if provided) initializes
342         the invocation and computes the expected number of
343         output lines. If it is greater than the screen size
344         the pager is enabled. End handler (if supplied) cleans
345         up after the invocation.
346
347         Always use error() for diagnostics.
348
349 2011-08-06  Sergey Poznyakoff  <gray@gnu.org.ua>
350
351         * doc/Config: New file.
352         * doc/gendocs_template: Rewrite for the new site layout.
353
354         * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
355         Force the use of --enable-libgdbm-compat on distcheck stage.
356
357         * compat/ndbm.h (DBM) <dirfd>: New member.
358         * src/version.c (gdbm_version_cmp): New function.
359         * compat/dbmclose.c (dbm_close): Close dirfd.
360         * compat/dbmdirfno.c (dbm_dirfno): Return dirfd.
361         * compat/dbmopen.c (dbm_open): Instead of linking
362         pag to dir, create a separate dir file with the version
363         information in it. When opening an existing db in 
364         write mode, detect if it has pag linked to dir. If so,
365         break the link and recreate the dir file in new format.
366         This allows GDBM to cooperate with the applications which
367         lock both pag and dir files.
368         * doc/gdbm.texinfo: Document gdbm_version_cmp.
369         * NEWS: Update.
370
371 2011-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>
372
373         * configure.ac: Require latest autotools. Enable silent mode.
374         * NEWS: Convert to the standard GNU outline format. Add entry
375         for 1.9.
376
377 2011-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>
378
379         * configure.ac: Require latest autotools. Enable silent mode.
380         * NEWS: Convert to the standard GNU outline format. Add entry
381         for 1.9.
382
383 2011-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>
384
385         * tests/version.at: Update.
386         * tests/Makefile.am: Define AT_PACKAGE_VERSION_MAJOR,
387         AT_PACKAGE_VERSION_MINOR, and AT_PACKAGE_VERSION_PATCH.
388         * src/lock.c: Shut the gcc warning.
389         * doc/gdbm.texinfo: Minor fixes.
390         * src/testgdbm.c (error): Bugfix.
391         
392 2011-08-05  Sergey Poznyakoff  <gray@gnu.org.ua>
393
394         * src/global.c: Remove.
395         * src/extern.h: Remove.
396         * src/Makefile.am: Remove extern.h and global.c
397         * src/flatfile.c: Don't include extern.h
398         * src/gdbmreorg.c: Likewise.
399         * src/lock.c: Likewise.
400         * src/testgdbm.c: Likewise.
401         * src/gdbmerrno.c (gdbm_errno): New declaration (from
402         global.c)
403         
404
405         * compat/dbm-priv.h: New file.
406         * compat/dbm.h: New file.
407         * compat/ndbm.h: New file.
408         * compat/Makefile.am (include_HEADERS): Add dbm.h and ndbm.h
409         (noinst_HEADERS): Add dbm-priv.h
410         * compat/close.c: Rewrite using ndbm interface.
411         * compat/dbminit.c: Likewise.
412         * compat/delete.c: Likewise.
413         * compat/fetch.c: Likewise.
414         * compat/seq.c: Likewise.
415         * compat/store.c: Likewise.
416         
417         * compat/dbmclose.c: Include nbdm.h.
418         Use the new DBM declaration.
419         * compat/dbmdelete.c: Likewise.
420         * compat/dbmdirfno.c: Likewise.
421         * compat/dbmfetch.c: Likewise.
422         * compat/dbmopen.c: Likewise.
423         * compat/dbmpagfno.c: Likewise.
424         * compat/dbmrdonly.c: Likewise.
425         * compat/dbmseq.c: Likewise.
426         * compat/dbmstore.c: Likewise.
427
428         * tests/Makefile.am: Add new files.
429         * tests/atlocal.in: Conditionally define COMPAT.
430
431         * tests/create00.at: Update keywords.
432         * tests/delete00.at: Likewise.
433         * tests/delete01.at: Likewise.
434         * tests/delete02.at: Likewise.
435         * tests/fetch00.at: Likewise.
436         * tests/fetch01.at: Likewise.
437
438         * tests/gtdel.c: Include progname.h instead of declaring
439         canonical_progname.
440         * tests/gtdump.c: Likewise.
441         * tests/gtfetch.c: Likewise.
442         * tests/gtload.c: Likewise.
443         * tests/gtver.c: Likewise.
444
445         * tests/testsuite.at (AT_COMPAT_PREREQ): New macro.
446         Add compat test cases.
447         
448         * tests/dtload.c: New file.
449         * tests/dtdump.c: New file.
450         * tests/dtdel.c: New file.
451         * tests/dbmcreate00.at: New test case.
452         * tests/dbmfetch00: Likewise.
453         * tests/dbmfetch01: Likewise.
454         * tests/dbmdel00.at: Likewise.
455         * tests/dbmdel01.at: Likewise.
456         * tests/dbmdel02.at: Likewise.
457
458 2011-08-04  Sergey Poznyakoff  <gray@gnu.org.ua>
459
460         * README: Update.
461         * doc/gdbm.3: Update.
462
463 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
464
465         * tests/gtver.c: New file.
466         * tests/Makefile.am (check_PROGRAMS): Add gtver.
467         * tests/.cvsignore: Update.
468         * tests/version.at: Use gtver instead of testgdbm.
469
470 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
471
472         * src/gdbm.proto: Remove.
473         * src/gdbm.proto2: Remove.
474         * src/gdbmerrno.h: Remove.
475         * src/gdbm.h.in: New file.
476         * Makefile.am (dist-hook): Remove destination file before
477         copying over it.
478         * configure.ac: Define Major,Minor numbers and Patchlevel
479         separately.
480         (GDBM_VERSION_MAJOR,GDBM_VERSION_MINOR)
481         (GDBM_VERSION_PATCH): New substitution variables.
482         * src/Makefile.am: Remove rules for building gdbm.h.
483         It is now created by configure.
484         (noinst_HEADERS): Install gdbm.h
485         (EXTRA_DIST): Distribute gdbm.h.in.
486
487         * src/flatfile.c: Include arpa/inet.h and gdbm.h.
488         * src/gdbmerrno.c: Include gdbm.h.
489         * src/version.c: Include gdbm.h.
490         (gdbm_version_number): New global variable.
491         
492         * doc/gdbm.texinfo: Document gdbm_version_number and
493         GDBM_VERSION_* macros.
494         
495         * src/gdbmopen.c: Remove unused variables, fix format specs.
496         * src/testgdbm.c: Remove unused variables, fix format specs.
497
498 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
499
500         * Makefile.am (dist-hook): Replace /*@DIST_DATE@*/ with
501         the actual distribution date.
502         * src/version.c (gdbm_version): Update automatically.
503
504 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
505
506         * (all files): Update copyright headers.
507
508 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
509
510         * doc/Makefile.am (check-fixmes): New rule.
511         * doc/gdbm.texinfo: Document flat format and related
512         functions.
513
514         * src/flatfile.c: Minor changes.
515         * src/gdbmerrno.c (gdbm_errlist): Indicate the size of
516         array and document its entries to minimize the possibility
517         of errors when editing it.
518         * src/gdbmerrno.h (gdbm_errlist): New prototype.
519
520 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
521
522         * src/gdbmdefs.h (struct gdbm_file_info) <name>: Remove
523         the static qualifier.
524
525 2011-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>
526
527         * src/gdbm.proto2: Remove a leftover __P wrapper.
528         * src/gdbmsetopt.c (gdbm_setopt): Avoid coredumps on NULL
529         optval.
530
531         * doc/.cvsignore: Update.
532         * doc/Makefile.am: Rewrite.
533         * doc/gdbm.texinfo: Revise.
534         * doc/gendocs_template: New file.
535         * doc/untabify.el: New file.
536
537 2011-08-02  Sergey Poznyakoff  <gray@gnu.org.ua>
538
539         * tests/.cvsignore: Update.
540         * tests/Makefile.am: Add new tests.
541         * tests/testsuite.at: Likewise.
542         * tests/gtdump.c: Minor fix.
543         * tests/gtfetch.c: Likewise.
544         * tests/delete00.at: New file.
545         * tests/delete01.at: New file.
546         * tests/delete02.at: New file.
547         * tests/gtdel.c: New file.      
548         
549         * Makefile.am (SUBDIRS): Add tests.
550         * configure.ac: Initialize testsuite.
551         * src/testgdbm.c: Minor fixes.
552         * tests/Makefile.am: New file.
553         * tests/atlocal.in: New file.
554         * tests/create00.at: New file.
555         * tests/fetch00.at: New file.
556         * tests/fetch01.at: New file.
557         * tests/gtdump.c: New file.
558         * tests/gtfetch.c: New file.
559         * tests/gtload.c: New file.
560         * tests/num2word.c: New file.
561         * tests/testsuite.at: New file. 
562
563         * tests/version.at: New file.
564
565         * .cvsignore: Update.
566         * compat/.cvsignore: Update.
567         * doc/.cvsignore: Update.
568         * export/.cvsignore: Update.
569         * src/.cvsignore: Update.
570
571 2011-08-01  Sergey Poznyakoff  <gray@gnu.org.ua>
572
573         * compat/dbminit.c: Remove useless include.
574         * compat/dbmopen.c: Likewise.
575
576 2011-08-01  Sergey Poznyakoff  <gray@gnu.org.ua>
577
578         * src/testgdbm.c (main): Support --help and --version for
579         the sake of make distcheck.
580
581 2011-08-01  Sergey Poznyakoff  <gray@gnu.org.ua>
582         
583         * src/gdbm.proto: Remove the legacy __P stuff.
584
585 2011-08-01  Sergey Poznyakoff  <gray@gnu.org.ua>
586         
587         * Makefile.am (ACLOCAL_AMFLAGS): New variable.
588         * configure.ac: Use AM_INIT_AUTOMAKE with arguments.
589
590         * src/gdbm.proto (GDBM_FILE): Change typedef.
591         * src/gdbmdefs.h: Include gdbm.h
592         (datum): Remove duplicate declaration.
593         (gdbm_file_info): Change to struct gdbm_file_info
594         
595         * src/proto.h:  Use GDBM_FILE instead of gdbm_file_info *.
596         Remove duplicate declarations.
597         
598         * src/gdbmopen.c: Use GDBM_FILE instead of gdbm_file_info *.
599         (gdbm_open): Fix signature to match global declaration.
600
601         * compat/dbmclose.c: Use GDBM_FILE instead of gdbm_file_info *.
602         * compat/dbmdirfno.c: Likewise.
603         * compat/dbmfetch.c: Likewise.
604         * compat/dbmopen.c: Likewise.
605         * compat/dbmpagfno.c: Likewise.
606         * compat/dbmrdonly.c: Likewise.
607         * compat/dbmseq.c: Likewise.
608         * compat/dbmstore.c: Likewise.
609         * src/bucket.c: Likewise.
610         * src/extern.h: Likewise.
611         * src/falloc.c: Likewise.
612         * src/findkey.c: Likewise.
613         * src/flatfile.c: Likewise.
614         * src/gdbmclose.c: Likewise.
615         * src/gdbmdelete.c: Likewise.
616         * src/gdbmexists.c: Likewise.
617         * src/gdbmfdesc.c: Likewise.
618         * src/gdbmfetch.c: Likewise.
619         * src/gdbmreorg.c: Likewise.
620         * src/gdbmseq.c: Likewise.
621         * src/gdbmsetopt.c: Likewise.
622         * src/gdbmstore.c: Likewise.
623         * src/gdbmsync.c: Likewise.
624         * src/global.c: Likewise.
625         * src/lock.c: Likewise.
626         * src/mmap.c: Likewise.
627         * src/testgdbm.c: Likewise.
628         * src/update.c: Likewise.
629
630 2009-01-03  Sergey Poznyakoff  <gray@gnu.org.ua>
631
632         * configure.ac: Update bug-reporting address.
633         * doc/gdbm.texinfo: Likewise.
634         * INSTALL, doc/version.texi: Remove automatically generated files.
635         
636 Wed Dec  3 19:29:25 PST 2008    Jason Downs (downsj@downsj.com)
637
638         * src/lock.c, src/gdbm.proto, src/proto.h: Disabled/removed
639                 gdbm_locked() for now, it's not needed.
640
641 Sun Nov 30 16:48:29 PST 2008    Jason Downs (downsj@downsj.com)
642
643         * src/lock.c: Check errno to see if a lock failed because it's already
644                 locked.  Add external gdbm_locked() routine to return the
645                 status of locking.  Move lock type to the dbf.
646         * src/gdbmdefs.h: Move lock type to the dbf.
647         * src/gdbm.proto: Add gdbm_export(), gdbm_import(), and gdbm_locked().
648
649 2008-11-30  Sergey Poznyakoff  <gray@gnu.org.ua>
650
651         * src/lock.c: Remove flock/flock64 distinction.
652
653 Sat Nov 29 23:22:24 PST 2008    Jason Downs (downsj@downsj.com)
654         * configure.ac: Add test for lockf.
655
656         * src/lock.c: New file, adds _gdbm_unlock_file() and
657                 _gdbm_lock_file() routines.  These attempt to use flock(),
658                 lockf(), and fcntl() locking.
659         * src/proto.h: Add new prototypes.
660         * src/systems.h: Remove file locking macros.
661         * src/gdbmopen.c: Rewrite locking code, use _gdbm_lock_file().
662         * src/gdbmclose.c, src/gdbmreorg.c: Use _gdbm_unlock_file().
663
664 Sat Nov 29 21:19:32 PST 2008    Jason Downs (downsj@downsj.com)
665         * configure.ac: Add test for sys/termios.h
666
667         * src/systems.h: Add macros for Solaris-style 64bit fcntl locks.
668         * src/testgdbm.c: Add support for opening files without locking.
669                 Add support for opening files without mmap.
670                 Add sys/termios.h include and add check for TIOCWINSZ.
671
672         * export/export.c: Add support for opening files without locking.
673
674 Mon Oct 29 15:14:53 EET 2007    Sergey Poznyakoff (gray@gnu.org.ua)
675
676         * configure.ac (AC_INIT): Add bug-reporting email.
677         * gdbm.texinfo: Use values.texi for version and edition number and
678         date.
679         Document testgdbm and gdbmexport.
680         Remove obsolete chapter describing conv2gdbm.
681
682         * export/export.c: Fix check for argc.
683         Take name of the output file from the second argument.
684         Accept -h and -v command line options.
685
686         * src/Makefile.am (noinst_PROGRAMS): move to bin_PROGRAMS.
687         * src/flatfile.c (gdbm_export): Add missing break.
688         * src/gdbmreorg.c (gdbm_reorganize): Call _gdbm_mapped_init if
689         required.
690         * src/testgdbm.c: Improve usage and version output to comply to
691         standards.texi.
692         Allow to operate on non-nul-terminated ascii data:
693         (key_z, data_z): New variables.
694         (key_z_handler, data_z_handler, status_handler): New handlers -
695         commands 'z', 'Z' and 'S'
696         All functions using key_data and data_data updated accordingly
697         (read_from_file): 'r' command takes an optional second arg.
698         (print_cache_handler): Use pager.
699         (page_data): Ignore pager for non-interactive usage.
700
701 Sun Oct 28 15:50:53 PDT 2007    Jason Downs (downsj@downsj.com)
702
703         * configure.ac: Add options for gdbmexport.
704         * export/Makefile.am, export/export.c: New files, stand alone flat
705           file exporter.
706         * COPYING, all source files: Update to GPLv3.
707         * src/Makefile.ac, compat/Makefile.ac: Move gdbm_compat to compat dir.
708         * compat: New directory, populate with [n]dbm files.
709         * src/Makefile.ac: Remove getopt.h.
710         * testgdbm.c, conv2gdbm.c: Remove getopt.h.
711         * configure.ac: Remove getopt.
712         * getopt.h, getopt.c: Remove.
713
714 Fri Oct 26 07:43:18 PDT 2007    Sergey Poznyakoff (gray@gnu.org.ua)
715
716         * src/Makefile.am (noinst_PROGRAMS): Remove testdbm, testndbm,
717           and conv2gdbm
718         * src/gdbmreorg.c (gdbm_reorganize): Call _gdbm_mapped_unmap
719         * src/testgdbm.c: Redo command handling. Expect arguments to
720           follow the command, otherwise prompt for them.
721
722 Thu Oct 25 09:36:51 PDT 2007    Sergey Poznyakoff (gray@gnu.org.ua)
723
724         * src, doc: New directories
725         * *.[ch], gdbm.proto, gdbm.proto2: Move to src
726         * gdbm.texi, gdbm.3: Move to doc
727         * configure.in: Rename to configure.ac, switch to deep structure
728         * build-aux: Auxiliary dir for autoconf stuff
729         * Makefile.am, src/Makefile.am, doc/Makefile.am: New file
730
731         * src/mmap.c (_gdbm_mapped_remap): Bugfix.
732         * src/testgdbm.c: New commands '<' - read entries from file and store,
733            and 'l' - list entire database
734
735 Tue Oct 23 19:19:36 PDT 2007    Jason Downs (downsj@downsj.com)
736
737         * update.c: Force sync if using mmap.
738
739         * gdbmclose.c: Unmap file.
740
741         * gdbmopen.c: Initialize mmap.
742
743         * gdbmdefs.h: Finish adding mmap support.
744
745         * Makefile.in: Add mmap.c.
746
747         * mmap.c: New mmap() i/o routines, from Sergey Poznyakoff
748           <gray@gnu.org.ua>.
749
750 Thu Oct 18 18:16:26 PDT 2007
751
752         * gdbmdefs.h: Convert a bunch of flags to bit fields.
753
754         * gdbmconst.h, gdbm.proto, gdbm.proto2: Add GDBM_NOMMAP and clean up.
755
756         * gdbmerrno.c, gdbmerrno.h: New errnos.
757
758         * gdbmconst.h, gdbmdefs.h, gdbmopen.c: Implement new magic number(s).
759
760         * bucket.c, falloc.c, findkey.c, gdbmopen.c, gdbmstore.c, update.c:
761           lseek() becomes __lseek().
762
763         * bucket.c, falloc.c, gdbmopen.c, gdbmstore.c, update.c: write()
764           becomes __write().
765
766         * bucket.c, falloc.c, findkey.c, gdbmopen.c: read() becomes __read().
767
768         * gdbmclose.c, gdbmopen.c, gdbmreorg.c, gdbmsync.c, update.c: fsync()
769           becomes __fsync().
770
771         * systems.h: New I/O macros.
772
773         * Makefile.in: Library version 4, remove BINOWN/BINGRP.
774
775         * autoconf.h.in, configure: Regenerate.
776
777         * aclocal.m4, config.guess, config.sub, ltmain.sh: Update.
778
779         * systems.h, gdbmfetch.c, gdbmopen.c, gdbmseq.c, gdbmstore.c,
780           findkey.c: Switch to memcpy() and memcmp().
781
782         * configure.in: Add mmap() support, sizeof off_t check, remove bcopy.
783
784         * proto.h, gdbmopen.c, update.c: Fatal function now takes a
785           const char *.
786
787         * All .h and .c files: ANSI function declarations, remove __P macros.
788           Also minor style fixes.
789
790 Tue Oct 15 15:00:11 PDT 2002    Jason Downs (downsj@downsj.com)
791
792         * samp1.cc: Remove.
793
794         * gdbm.3, gdbm.texinfo: 1.8.3.
795
796         * version.c: Version 1.8.3., modernize string (release date is in
797           American format).
798
799         * gdbmreorg.c: Remove small memory leak.
800
801         * Makefile.in: Use more subs from configure, remove mention of SunOS.
802           Add support for spec'ing an install time prefix via INSTALL_ROOT.
803
804         * INSTALL: Remove extra text from top.
805
806         * config.guess, config.sub: Update to latest versions.
807
808         * autoconf.h.in: Regenerate.
809
810         * configure.in: Modernize.
811
812         * systems.h: HAVE_ST_BLKSIZE -> HAVE_STRUCT_STAT_ST_BLKSIZE.
813
814 Fri Sep 27 16:12:44 PDT 2002    Jason Downs (downsj@downsj.com)
815
816         * Makefile.in: Remove `info' target from all, since we don't even
817           bother installing the one we built anyway.
818
819         * Fix a few checks against dbf.read_write.
820
821 Wed Sep 25 15:19:00 PDT 2002    Jason Downs (downsj@downsj.com)
822
823         * Makefile.in: Remove the dbm and ndbm routines from the main
824           library, moving them to gdbm_compat.  install-compat now
825           installs the compat headers and the library.  Increment the
826           MAJOR number of the shared library due to the removal of
827           the compat functions.
828
829         * gdbm.3, gdbm.texinfo, version.c: 1.8.1; note gdbm_compat.
830
831         * proto.h: Change _gdbm_fatal() to void.
832
833         * update.c(_gdbm_fatal): Change function declaration to void.
834
835         * update.c(_gdbm_fatal): Change default exit status to 1.
836
837         * gdbmopen.c(gdbm_open): Remove setting of flags since we always check
838           it against the mask.
839
840         * testdbm.c, testndbm.c: Added stdlib.h inclusions.
841
842         * falloc.c(push_avail_block): Fixed extremely rare case where the
843           header avail table could fill up, causing us to over flow the
844           table, corrupting memory, and eventually crashing.  Also forced
845           merging of blocks within the scope of this routine (possibly
846           should force them whenever the header avail table is being used).
847
848         * gdbmerrno.c: Fix error count, there are more than 18.
849
850         * gdbmerrno.h: Fix typo; GDBM_OPT_ILLEGAL is 20.
851
852         * gdbmopen.c: Fix typo; s/GDBM_OPENMASK/GDBM_WRITER/.
853
854 Tue May 18 19:25:25 PDT 1999    Jason Downs     (downsj@downsj.com)
855
856         * gdbm.3, gdbm.texinfo: Update for 1.8.
857
858         * Makefile.in, configure.in: Switch to using libtool, but without
859           automake.
860
861         * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh: New
862           files (libtool 1.2).
863
864 Wed May 12 01:26:15 PDT 1999    Jason Downs     (downsj@downsj.com)
865
866         * gdbmopen.c, gdbmclose.c, gdbmreorg.c: check file_locking before
867           calling locking macros; add support for setting GDBM_NOLOCK in
868           gdbm_open().
869
870         * gdbmdefs.h: add file_locking flag to gdbm_file_info.
871
872         * gdbmconst.h, gdbm.proto: add GDBM_NOLOCK flag.
873
874         * gdbmfdesc.c: new file, adds external gdbm_fdesc() routine.
875
876         * gdbm.proto, gdbm.proto2: clean up, use __P, and compress.
877
878         * gdbmerrno.h: kill the enum, add defines for errors.
879
880         * gdbmsetopt.c, testgdbm.c: support GDBM_SYNC/GDBM_SYNCMODE.
881
882         * gdbmopen.c: gdbm_open() now DEFAULTS to ``fast mode''; use
883           GDBM_SYNC to turn it off.  GDBM_FAST is obsolete and ignored.
884
885         * gdbmconst.h: add GDBM_SYNC and GDBM_SYNCMODE.
886
887         * proto.h, various source files: switch _ARGS to __P.
888
889         * systems.h, various source files: kill word_t, just use int
890           everywhere.
891
892         * configure.in, autoconf.h.in: remove alloca() goo and modernize.
893
894         * many source files: replace all instances of alloca() with real
895           malloc()s and free()s.
896
897         * update.c: don't deref NULL in _gdbm_fatal(), and don't use stdio.
898
899 [  The following are entries revived from a dead experimental branch. ]
900
901 Tue Nov  1 00:35:11 1994  Jason Downs  (downsj@downsj.com)
902
903         * gdbmopen.c (gdbm_open): actually initialize central_free and
904           coalesce_blocks.
905
906         * gdbmdefs.h: added coalesce_blocks. these should've been bitmapped.
907           oh well.
908
909         * falloc.c (various routines): made block merging an option.
910
911         * gdbmsetopt.c (gdbm_setopt): added GDBM_COALESCEBLKS option.
912
913         * gdbmconst.h: added GDBM_COALESCEBLKS option.
914
915 Fri Jun  3 09:45:19 1994  Jason Downs  (downsj@downsj.com)
916         
917         * falloc.c (_gdbm_free): if central_free is set, all blocks are
918           put into the header.
919         
920         * gdbmsetopt.c (gdbm_setopt): add GDBM_CENTFREE case.
921         
922         * gdbmdefs.h, gdbmconst.h, gdbm.proto: add central free option.
923
924 Fri Jun  3 05:57:36 1994  Jason Downs  (downsj@downsj.com)
925
926         * falloc.c (pop_avail_block): merge block with header, instead
927           of replace, since header may not be empty any longer.
928
929         * falloc.c (_gdbm_alloc): pop a block off the stack when the
930           current header is half empty, instead of zero.
931
932 Fri Jun  3 05:11:33 1994  Jason Downs  (downsj@downsj.com)
933
934         * gdbmstore.c (gdbm_store): don't alloc new disk if we're replacing
935           and the records are the same size. suggested by phil a long time
936           ago.
937
938 Fri Jun  3 03:47:46 1994  Jason Downs  (downsj@downsj.com)
939         
940         * falloc.c (_gdbm_put_av_elem): allow adjacent blocks to be
941           merged. inspired by the enhancement by Tim Howes.
942
943 Thu Jun  2 22:15:19 1994  Jason Downs  (downsj@downsj.com)
944
945         * Makefile.in: add installation mode, owner, and group.
946
947 Thu Jun  2 04:24:58 1994  Jason Downs  (downsj@downsj.com)
948
949         * Makefile.in: run mkinstalldirs before installing files.
950
951         * mkinstalldirs: new file.
952
953 [ End of revived entries. ]
954
955 Thu May 19 15:50:04 1994  Jason Downs  (downsj@downsj.com)
956         
957         * NEWS, README: update to 1.7.3.
958         
959         * gdbm.texinfo: update to 1.7.3, slight fixes.
960
961         * gdbm.3: update to 1.7.3, slight reformat.
962
963 Thu May 19 14:45:51 1994  Jason Downs  (downsj@downsj.com)
964
965         * gdbmconst.h: removed the header magic numbers from this
966           branch.
967
968         * version.c: added an include of autoconf.h, updated version
969
970         * gdbm.proto: added a define for GDBM_FASTMODE.
971
972 Sun May 15 02:39:48 1994  Jason Downs  (downsj@downsj.com)
973
974         * gdbm.3, gdbm.texinfo: updates for 1.7.2
975         
976         * README, NEWS, version.c: update for 1.7.2
977         
978         * Makefile.in: removed files, changed (drastically) how the
979           package compiles and installs.
980
981         * bytewise.c, bytewise.h: removed from this branch.
982
983 Wed Mar 23 00:44:43 1994  Jason Downs  (downsj@downsj.com)
984
985         * extern.h: removed bogus (old) function declarations.
986
987 Mon Mar 14 01:37:09 1994  Jason Downs  (downsj@downsj.com)
988
989         * Makefile.in: added new files.
990
991         * bytewise.c, bytewise.h: new portable byte order conversion
992           package; supports 64bit longs/16bit ints.
993
994 Sun Mar 13 22:56:10 1994  Jason Downs  (downsj@downsj.com)
995
996         * gdbmsetopt.c, gdbmconst.h: added GDBM_FASTMODE option.
997
998         * falloc.c: taught _gdbm_alloc() about the header avail table.
999           hopefully, this will fix the bloating problem. i dunno, though,
1000           as i've never had that problem, myself.
1001
1002 Sun Dec 26 05:17:04 1993  Jason Downs  (downsj@downsj.com)
1003
1004         * version.c: made gdbm_version const.
1005
1006         * gdbmerrno.c: made gdbm_strerror() and it's array const.
1007
1008         * various files: general clean up, reformating of code.
1009
1010         * systems.h: put <memory.h> inside of a conditional.
1011
1012         * configure.in, autoconf.h.in: added check for <memory.h>.
1013
1014         * systems.h: added a default define of SEEK_SET.
1015
1016         * bucket.c, gdbmopen.c, gdbmseq.c, gdbmdelete.c, gdbmdefs.h:
1017           cleaned up some uses of word_t.
1018
1019 Tue Nov 16 03:11:56 1993  Jason Downs  (downsj@downsj.com)
1020
1021         * gdbm.3, gdbm.texinfo: updated versions to 1.3 for release
1022
1023         * version.c, README, NEWS: updated versions to 1.7.1 for release
1024
1025 Sun Nov 14 17:21:03 1993  Jason Downs  (downsj@downsj.com)
1026
1027         * Makefile.in: added $(srcdir) to a few file references.
1028
1029 Sat Nov 13 13:56:37 1993  Jason Downs  (downsj@downsj.com)
1030
1031         * gdbm.3, gdbm.texinfo: added new gdbm_firstkey()/gdbm_nextkey()
1032           documentation.
1033
1034         * gdbmopen.c: added SGI alloca patch.
1035
1036         * Makefile.in: changed installation prefix semantics.
1037
1038 Sat Nov 13 01:52:31 1993  Jason Downs  (downsj@downsj.com)
1039
1040         * various source: redid the AIX alloca declaration. any new files
1041           that call alloca will have to start with the same header.
1042
1043         * all source, configure.in, Makefile.in: switched over to using
1044           autoconf.h, rather than packing all of the autoconf defs into
1045           the DEFS line.
1046
1047         * autoconf.h.in: new file.
1048
1049         * Makefile.in: changed rule for tndbm.o, hopefully making it more
1050           portable.
1051
1052         * alloca.c: added inclusion of stdlib.h
1053
1054 Fri Nov 12 13:11:03 1993  Jason Downs  (downsj@downsj.com)
1055
1056         * Makefile.in, configure.in: fixed getop related bugs.
1057
1058         * systems.h: moved sys/types.h include to top.
1059
1060 Wed Nov  3 17:18:59 1993  Jason Downs  (downsj@downsj.com)
1061
1062         * version.c: changed version to 1.7, for release.
1063
1064         * gdbmdefs.h: Moved all system includes to systems.h.
1065
1066 Sun Oct 31 02:50:12 1993  Jason Downs  (downsj@downsj.com)
1067
1068         * version.c: changed version number to 1.7alpha.
1069
1070         * gdbm.texinfo: updated to reflect new routines and changes.
1071         
1072         * getopt.c, getopt.h: Added the GNU getopt.c to the dist, for
1073           compilation of testgdbm and conv2gdbm on machines without getopt().
1074         
1075         * various source files: changed all appropiate occurances of 'long'
1076           to type 'off_t'. Added off_t check to configure.in.
1077
1078         * gdbm.3: updated to reflect new routines and changes.
1079
1080 Sat Oct 30 05:20:45 1993  Jason Downs  (downsj@downsj.com)
1081
1082         * testgdbm.c: Added support for bucket cache and block sizes,
1083           adding -c, -b and -g flags. Must use -g to specify the file
1084           name, now.
1085
1086         * bucket.c, gdbmopen.c, gdbmclose.c, gdbmreorg.c, update.c,
1087           gdbmconst.h, gdbmdefs.h: Implemented dynamic, delayed
1088           initialization, bucket cache. New routine: _gdbm_init_cache().
1089
1090         * proto.h, gdbmerrno.c, gdbmerrno.h: Added gdbm_setopt() errors
1091           and prototypes.
1092
1093         * gdbmsetopt.c: New file, implements the gdbm_setopt() routine.
1094
1095         * testgdbm.c, testndbm.c, testdbm.c, conv2gdbm.c: cleaned up
1096           compiler warnings.
1097
1098         * update.c: repaired declarations and added prototypes for
1099           static routines, repaired declaration of _gdbm_fatal().
1100
1101         * falloc.c: repaired declarations and added prototypes for
1102           static routines.
1103
1104         * gdbmstore.c: commented out unsed variables in gdbm_store().
1105
1106         * proto.h: added prototypes for _gdbm_read_entry(),
1107           _gdbm_find_key(), and gdbm_sync().
1108
1109         * bucket.c, proto.h: changed _gdbm_get_bucket() and
1110           _gdbm_write_bucket() over to type void.
1111
1112 Sat Oct 30 00:56:24 1993  Jason Downs  (downsj@downsj.com)
1113
1114         * gdbmerrno.c, gdbmexists.c, close.c, dbmrdonly.c: New files,
1115           adding the routines gdbm_strerror(), gdbm_exists(), and for
1116           better compatibility with the old dbm/ndbm libraries, the
1117           dbmclose() and dbm_rdonly() routines.
1118
1119         * various headers: Added prototypes for the new routines, and
1120           rearranged how gdbm.h is generated.
1121
1122 Fri Oct 29 07:02:41 1993  Jason Downs  (downsj@downsj.com)
1123
1124         * README: split into README, INSTALL, and NEWS.  INSTALL
1125           includes more tips on compiling.  NEWS contains the 'short form'
1126           ChangeLog.
1127         
1128         * Makefile.in, configure.in: Redid parts of the autoconf
1129           stuff, and repaired many bugs.
1130
1131         * systems.h: Repaired the alloca declarations, among other
1132           things.
1133
1134         * various source files: changed all relevant usage of type
1135           'long' to type 'word_t', which will always be 32bits wide.
1136           'word_t' is defined in systems.h.
1137
1138 Fri Jul 30 13:27:24 1993  Phil Nelson  (phil@cs.wwu.edu)
1139
1140         * findkey.c: Added a check of elem_loc == -1 in determining if
1141           the data cache held the item being looked for.
1142
1143 Tue Jul 20 13:08:47 1993  Phil Nelson  (phil at cs.wwu.edu)
1144
1145         * gdbm.texinfo: Fixed some errors.
1146
1147         * Makefile.in: Fixed some errors.
1148
1149         * version.c: Set version to 1.6 for release.
1150
1151 Mon Jul 19 15:02:40 1993  Phil Nelson  (phil at cs.wwu.edu)
1152
1153         * COPYING: Replaced Version 1 with Version 2.  Also updated
1154           all file notices to refer to version 2.
1155
1156         * gdbm.texinfo: Updated the documentation.
1157
1158         * README: Updated to current version.
1159
1160         * Makefile: updated clean and install.
1161
1162 Wed Jul 14 13:37:44 1993  Phil Nelson  (phil at cs.wwu.edu)
1163
1164         * Makfile.in: Added samp1.cc to the list of distributed files.
1165
1166 Sat Jun  5 21:35:59 1993  Phil Nelson  (phil at cs.wwu.edu)
1167
1168         * gdbm.proto, Makefile.in: Added #ifndef _GDBM_H_ protection
1169           for the final gdbm.h file.  Also added prototypes and C++
1170           support.
1171
1172         * gdbmseq.c: Added gdbm_errno initialization to gdbm_nextkey.
1173
1174         * gdbmerrno.h and others: Moved the extern definition of
1175           gdbm_erron to gdbmerrno.h from the other files.
1176
1177 Mon May 17 12:32:02 1993  Phil Nelson  (phil at cs.wwu.edu)
1178
1179         * gdbm.proto: Added GDBM_FAST to the read_write flags.
1180
1181 Sun May 16 12:50:01 1993  Phil Nelson  (phil at cs.wwu.edu)
1182
1183         * configure.in, Makefile.in: Added autoconf configuration
1184           to gdbm.
1185
1186 Tue Mar 30 00:08:48 1993  Phil Nelson  (phil at cs.wwu.edu)
1187
1188         * global.c: Set gdbm_errno to GDBM_NO_ERROR to force
1189           it into the data segment.
1190
1191 Sun Mar 28 22:51:40 1993  Phil Nelson  (phil at cs.wwu.edu)
1192
1193         * gdbmfetch.c: Set return_val.dsize to 0 as a default return
1194           value.  (I was told that was more compatible with dbm/ndbm.)
1195
1196         * gdbmopen.c: Changed a "sizeof(int)" to "sizeof(long)".
1197
1198         * testgdbm.c: Changed "char opt" to "int opt" to make sure
1199           opt can be -1.
1200
1201         * hash.c: Added "unsigned" to declaration of value for
1202           better overflow operation.
1203
1204         * gdbmreorg.c: Added a free for data.dptr in the main loop.
1205           Also changed the malloc for new_name to an alloca.
1206           Removed all frees on new_name.
1207
1208 Sat Mar 27 23:25:14 1993  Phil Nelson  (phil at cs.wwu.edu)
1209
1210         * gdbmconst.h, gdbmdefs.h, gdbmopen.c, gdbmreorg.c,
1211           testgdbm.c, update.c, gdbm.h: Added code to allow for a
1212           GDBM_FAST mode in which fsync is not called during
1213           database update mode. Added a new flag "-f" to 
1214           testgdbm to make use of the new fast mode.
1215
1216         * gdbmsync.c: Added this function to allow a programmer
1217           to use the GDBM_FAST mode but still be able to sync
1218           a database.
1219
1220         * gdbmopen.c, gdbmdelete.c, gdbmfetch.c, gdbmseq.c, gdbmstore.c,
1221           gdbmreorg.c: Added initialization of gdbm_errno to GDBM_NO_ERROR.
1222
1223 Mon Mar 22 23:03:36 1993  Phil Nelson  (phil at cs.wwu.edu)
1224
1225         * gdbmclose.c: (gdbmclose) Added a fsync before close to make
1226           sure the file is written to disk before continuing.
1227
1228 Sun Mar 21 21:33:31 1993  Phil Nelson  (phil at cs.wwu.edu)
1229
1230         * proto.h: Added this as a new file.  It adds ANSI prototypes
1231           for ANSI compilers.
1232
1233         * gdbmdefs.h: Added an include of proto.h.
1234
1235         * Makefile: Added proper references to proto.h
1236
1237         * gdbmopen.c: Changed (int *) casts to (long *) and added
1238           an initialization to dbf->header.
1239
1240         * gdbmreorg.c: Added an "end update" on the new database and
1241           correctly set up the bucket cache.
1242
1243         * update.c: (_gdbm_end_update) Added type void to header.
1244
1245 Wed Mar 17 19:14:27 1993  Phil Nelson  (phil at cs.wwu.edu)
1246
1247         * Changed copyright on all files to include 1993.  Also deleted
1248           all references to my phone number.
1249
1250 Thu Feb 28 17:05:09 1991  Phil Nelson  (phil at strawberry.cs.wwu.edu)
1251
1252         * Added 1991 to copyright lines on all files.
1253
1254         * gdbmfetch.c: Fixed a bug introduced by previous changes.
1255
1256         * version.c:  Updated version to 1.5.
1257
1258 Fri Feb  8 12:27:13 1991  Phil Nelson  (phil at strawberry.cs.wwu.edu)
1259
1260         * Change author's e-mail address in all comments.
1261
1262         * gdbmopen.c, systems.h: Changed opening sequence so that a
1263           database will not be truncated in NEWDB mode until the
1264           write has locked the file.
1265
1266         * testgdbm.c: Fixed a bug that caused a segmentation fault on
1267           one computer.  Also added the flags "-r" for opening the
1268           database as a READER and "-n" for opening the database as
1269           a NEWDB writer.  The default mode remains the WRCREAT mode.
1270
1271         * Various source files, changed the data types of various
1272           variables from int to long.  This should not make any difference
1273           to systems where sizeof(int) = sizeof(long).  It should make
1274           it easier to move to other systems.
1275
1276         * gdbmstore.c: Added a check for NULL key or content dptr.  Due to
1277           NULLs being used as error indications, data cannot be NULL also.
1278
1279         * gdbmfetch.c, gdbmseq.c, fetch.c: Added checks for zero sized
1280           key and content so malloc will not try to allocate zero bytes.
1281
1282         * gdbmconst.h: Added this file so that all constants are in one
1283           central place.  A few constants can be changed without changing
1284           the header sizes.
1285
1286 Tue Aug 14 13:08:43 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1287
1288         * Version 1.4 released.  (version.c: Updated to correct version.)
1289
1290         * Makefile: Added $(LIBS) to link for conv2gdbm.
1291
1292         * README: Updated to version 1.4 and added a 1.0-1.4 change
1293           statement.
1294
1295 Wed Aug  8 16:57:29 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1296
1297         * gdbmopen.c: Restructured some code to initialize dbf
1298           more completely.
1299
1300         * dbm.h: Added a null define to satisfy some versions that
1301           require a dbmclose() call.
1302
1303         * findkey.c: (_gdbm_findkey) Added a check for the NULL
1304           pointer in ...ca_data.dptr.
1305
1306         * gdbmdelete.c: Added code to more completely remove the
1307           cache entry for a deleted item.
1308
1309         * gdbmreorg.c: Added code to finish the transfer of information
1310           from the new_dbf to the orginal dbf.
1311
1312 Fri May 30 08:29:16 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1313
1314         * gdbmstore.c: Changed a strncpy to bcopy.
1315
1316 Tue May 15 09:55:21 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1317
1318         * Version 1.3 released.
1319
1320         * systems.h: Changed the defines for alloca to use the
1321           name builtin_alloca to depend on BUILTIN_ALLOCA instead
1322           of __GNUC__.  Added a definition of BUILTIN_ALLOCA for
1323           GNUC and for sun sparc.
1324
1325 Fri May 11 12:15:56 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1326
1327         * systems.h: Removed the include for <sys/types> and now
1328           systems.h requires <sys/types> included before it.
1329
1330         * Makefile: Corrected the makefile to include a file that
1331           was missing before.  Also, switched order of conv2gdbm
1332           and alldbm in the all option.
1333
1334         * findkey.c (_gdbm_read_entry): Reordered some statements
1335           to make the code more readable.
1336
1337         * update.c (_gdbm_fatal): Changed fatal message from "dbm fatal:"
1338           to "gdbm fatal:".
1339
1340 Mon Apr 30 10:18:24 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1341
1342         * Version 1.2 released.
1343
1344 Fri Apr 27 09:49:59 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1345
1346         * Makefile: Added the dist option.  Similar to the 
1347           addition from hack@ai.mit.edu, but correct.
1348
1349         * falloc.c (push_avail_block):  Change the avail count
1350           to reflect the correct number of entries.
1351
1352         * dbminit.c (dbminit): Changed the stat call to stat the
1353           ".dir" file as is done in dbmopen.c (dbm_open).
1354
1355 Tue Apr 10 12:18:40 1990  Phil Nelson  (phil at unicorn.wwu.edu)
1356
1357         * Version 1.1. released.
1358
1359         * gdbmopen.c (gdbm_open): Clear out bucket cache.
1360
1361
1362