path: root/
AgeCommit message (Collapse)AuthorFiles
2018-10-27Version 1.18.1v1.18.1Sergey Poznyakoff1
2018-08-21Version 1.18v1.18Sergey Poznyakoff1
2018-07-30Version 1.17v1.17Sergey Poznyakoff1
2018-07-01Change return value of gdbm_close and gdbm_syncSergey Poznyakoff1
* src/ (gdbm_close, gdbm_sync): Return int (GDBM_FILE_CLOSE_ERROR, GDBM_FILE_SYNC_ERROR): New error codes. * src/gdbmclose.c (gdbm_close): Return 0 on success, -1 on failure. Set gdbm_errno and errno. * src/gdbmsync.c (gdbm_sync): Likewise. * src/gdbmerrno.c: Handle new error codes. * src/mmap.c (_gdbm_mapped_sync): Set gdbm_errno. * src/proto.h (gdbm_file_sync): Set gdbm_errno. * doc/gdbm.3: Document changes. * doc/gdbm.texi: Document changes. * NEWS: Document changes. * Set patchlevel. * tests/ Add new test. * tests/ Add new test. * tests/ New test case. * tests/closerr.c: New test program. * tests/gtdel.c: Check gdbm_close return. * tests/gtdump.c: Likewise. * tests/gtfetch.c: Likewise. * tests/gtload.c: Likewise. * tests/gtopt.c: Likewise. * tests/gtrecover.c: Likewise.
2018-06-27Version 1.16v1.16Sergey Poznyakoff1
2018-06-16Version 1.5v1.15Sergey Poznyakoff1
* Version 1.5 * NEWS: Update. * src/ (VI_CURRENT): Increment to 6 * src/bucket.c (_gdbm_get_bucket): Fix the upper limit for bucket_bits. * src/falloc.c (push_avail_block): Fill the allocated block with 0s.
2018-05-25configure: emit a notice if --enable-gdbmtool-debug is usedSergey Poznyakoff1
2018-05-24Various fixesSergey Poznyakoff1
* src/input-std.c: Bugfix * doc/gdbm.texi: Document changes. * README: Update. * New option --enable-gdbmtool-debug. * src/ Conditionally augment AM_YFLAGS and AM_LFLAGS with options that enable debugging. * src/gdbmtool.c: Conditionally enable --lex-trace and --gram-trace options. * src/gram.y: Likewise. * src/lex.l: Likewise. * tests/ Remove architecure-dependent tests. * tests/ Likewise.
2018-05-19Remove gdbm-1.8.3 compatibility layerSergey Poznyakoff1
* Remove gdbm-1.8.3 compatibility layer. Version 1.14.90 * (ACLOCAL_AMFLAGS): Remove deprecated variable. (MAYBE_EXPORT): Remove variable and conditional. * NEWS: Update. * NOTE-WARNING: Update. * README: Update. * doc/gdbm.texi: Update. * export/.gitignore: Remove. * export/ Remove. * export/export.c: Remove.
2018-05-19Add new testsSergey Poznyakoff1
* src/gdbm_dump.c: Fix exit code. * Determine presence of gzip and base64 (GZIP_BIN,BASE64_BIN): New variables. * tests/ (GZIP_BIN,BASE64_BIN): New variables. * tests/ New file. * tests/ New file. * tests/ New file. * tests/ Add new tests. * tests/ Add new tests.
2018-01-03Bump library current version numberv1.14.1Sergey Poznyakoff1
2018-01-01Version 1.14v1.14Sergey Poznyakoff1
2018-01-01Happy GNU YearSergey Poznyakoff1
2017-12-23Complement c175231eSergey Poznyakoff1
* Check whether __thread qualifier is supported * src/gdbmerrno.c (gdbm_errno_storage): Use GDBM_THREAD_LOCAL instead of __thread.
2017-03-11Version 1.13Sergey Poznyakoff1
2017-01-02Happy GNU YearSergey Poznyakoff1
2016-07-25Add debug info.Sergey Poznyakoff1
* Fix description wording. * src/ [GDBM_COND_DEBUG_ENABLE]: Don't define GDBM_DEBUG_ENABLE. * tests/ Likewise. * src/debug.c (gdbm_debug_printer) (gdbm_debug_flags): New globals. (gdbm_debug_token, gdbm_debug_parse_state) (gdbm_debug_datum): New functions. * src/ [@GDBM_DEBUG_ENABLE@]: Define GDBM_DEBUG_ENABLE. (gdbm_debug_printer_t): New typedef. (gdbm_debug_printer, gdbm_debug_flags): New externs. (GDBM_DEBUG_ERR,GDBM_DEBUG_OPEN) (GDBM_DEBUG_READ,GDBM_DEBUG_STORE) (GDBM_DEBUG_LOOKUP,GDBM_DEBUG_ALL): New defines. (gdbm_debug_token,gdbm_debug_parse_state) (gdbm_debug_datum): New protos. * src/gdbmdefs.h (GDBM_DEBUG,GDBM_DEBUG_DATUM): New macros. * src/findkey.c: Add debugging info. * src/gdbmfetch.c: Likewise. * src/gdbmopen.c: Likewise. * src/gdbmseq.c: Likewise. * src/gdbmstore.c: Likewise. * src/gdbmtool.c (open_handler): Allow the use of ~/ (command) <repeat,variadic>: New members. (run_command): Handle variadic functions. (run_last_command): New command. In interactive mode, repeats the last command if it was marked with repeat=1 (currently, only "next"). New command: "debug". (all functions): Use terror instead of fprintf(stderr,...); * src/gdbmtool.h (handler_param) <vararg>: New member. (run_last_command): New proto. * src/gram.y: Call run_last_command) on empty input. * tests/gtload.c: New option: -debug=
2016-07-20Introduce debug hooks.Sergey Poznyakoff1
* New option --enable-debug Print feature summary at the end of the run. * src/debug.c: New file. * src/ [GDBM_COND_DEBUG_ENABLE]: Build debug.o Define GDBM_DEBUG_ENABLE. * src/gdbmdefs.h [GDBM_DEBUG_ENABLE] (_gdbm_debug_hook_install) (_gdbm_debug_hook_remove,_gdbm_debug_hook_check) (_gdbm_debug_hook_val): New protos. (GDBM_DEBUG_HOOK, GDBM_DEBUG_OVERRIDE) (GDBM_DEBUG_ALLOC): New defines. * src/ (GDBM_RCVR_FORCE): New flag. * src/recover.c (gdbm_recover): Check database before attempting recovery, unless GDBM_RCVR_FORCE flag is set. * doc/gdbm.texi: Document GDBM_RCVR_FORCE * src/gdbmreorg.c (gdbm_reorganize): Use GDBM_RCVR_FORCE. * src/gdbmtool.c (main): Always allocate file_name. * src/bucket.c: Put GDBM_DEBUG_OVERRIDE and GDBM_DEBUG_ALLOC in critical places. * src/falloc.c: Likewise. * src/findkey.c: Likewise. * src/gdbmopen.c: Likewise. * src/gdbmstore.c: Likewise. * src/update.c: Likewise. * tests/ [GDBM_COND_DEBUG_ENABLE]: Define GDBM_DEBUG_ENABLE. * tests/gtload.c: New options -hook, -recover, -verbose, -backup, -max-failures, -max-failed-keys, and -max-failed-buckets. Attempt recovery after errors.
2016-07-19Implement gdbm_recover functionSergey Poznyakoff1
* Don't check for rename. * src/ (libgdbm_la_SOURCES): Add recover.c * src/recover.c: New file. * src/bucket.c (_gdbm_get_bucket): Remove extra space before [ * src/err.c (prerror): Take additional argument (gdbm_perror): Print system errno if necessary. * src/ (GDBM_CLOERROR): New flag. (gdbm_fd_open, gdbm_copy_meta): New proto. (gdbm_last_syserr,gdbm_db_strerror,gdbm_recover): New proto. (gdbm_syserr): New extern. (gdbm_recovery): New struct. (GDBM_RCVR_DEFAULT,GDBM_RCVR_ERRFUN) (GDBM_RCVR_MAX_FAILED_KEYS) (GDBM_RCVR_MAX_FAILED_BUCKETS) (GDBM_RCVR_MAX_FAILURES) (GDBM_RCVR_BACKUP): New flags. (GDBM_BACKUP_FAILED): New error code. * src/gdbmclose.c (gdbm_close): Work correctly if dbf->desc == -1. * src/gdbmcount.c (gdbm_count): Remove spurious sorting. Use _gdbm_next_bucket_dir for iterating over the buckets. * src/gdbmdefs.h (struct gdbm_file_info)<last_syserror> <last_errstr>: New members. * src/gdbmerrno.c (gdbm_set_errno): Set last_syserror as well. (gdbm_clear_error): Reset last_syserror. (gdbm_last_syserr): New function. (gdbm_errlist): New entry for GDBM_BACKUP_FAILED. (gdbm_db_strerror): New function. (gdbm_syserr): New global. * src/gdbmload.c (get_parms): Buffer can be NULL. * src/gdbmopen.c (gdbm_fd_open): New function. (gdbm_open): Rewrite as a wrapper over gdbm_fd_open. * src/gdbmreorg.c (gdbm_reorganize): Rewrite as a wrapper over gdbm_recover. * src/proto.h (_gdbm_next_bucket_dir): New proto. * src/gdbmtool.c: New command: recover. * tests/.gitignore: Add gtrecover * tests/gtrecover.c: New test program. * tests/ Build gtrecover
2016-07-12Line-editing support in gdbmtoolSergey Poznyakoff1
* Check if GNU Readline is available. * src/ Add new files. * src/input-rl.c: New file. * src/input-std.c: New file. * src/gdbmtool.c (handler_param): Move declaration to the header file. (quit_handler): Call input_done. (command_tab): Add the "history" command. (command_generator): New function. (slist_new_s, slist_new_l) (slist_insert): New functions. (main): Call input_init and input_done. * src/gdbmtool.h: New protos. * src/gram.y: Use slist_insert to construct string lists. * src/lex.l (read_input): Remove. Use input_read instead. (print_prompt_at_bol): New function. (print_prompt): Remove. (make_prompt): New function. * NEWS: Document changes. * README: Document readline support. * doc/gdbm.texi: Document line editing in gdbmtool. * doc/gdbmtool.1: Likewise.
2016-07-08Fix error handling in gdbm_fetch, gdbm_firstkey, and gdbm_nextkey.Sergey Poznyakoff1
* src/gdbmfetch.c: Hanlde out of memory error. * src/findkey.c: Set gdbm_errno to GDBM_ITEM_NOT_FOUND if nothing was found. * src/gdbmdelete.c: Don't set gdbm_errno after _gdbm_findkey returns -1. It's been done already. * src/gdbmexp.c (gdbm_export_to_file): Return -1 if gdbm_fetch fails. * src/gdbmseq.c (get_next_key): Set gdbm_errno to GDBM_ITEM_NOT_FOUND if there's no next key. Don't call _gdbm_fatal on out of memory condition. (gdbm_nextkey): Set gdbm_errno to GDBM_ITEM_NOT_FOUND if there's no next key. * src/gdbmtool.c (fetch_handler) (firstkey_handler,nextkey_handler): Check gdbm_errno. * src/gdbmstore.c: Handle error return from _gdbm_findkey. * tests/gtdump.c: Likewise. * tests/gtfetch.c: Likewise. * doc/gdbm.texi: Document changes. * doc/gdbm.3: Likewise. * Version 1.12.90 * NEWS: Update. * .gitignore: Update.
2016-05-16Version 1.12Sergey Poznyakoff1
2014-02-14Optionally install compatibility headers into a separate directory.Sergey Poznyakoff1
* Version 1.11.90 (COMPATINCLUDEDIR): New substitution variable. * compat/ (compatincludedir): New variable. (include_HEADERS): Rename to compatinclude_HEADERS. * NEWS: Document COMPATINCLUDEDIR. * README: Likewise.
2013-12-25Version 1.11Sergey Poznyakoff1
2013-05-21New function gdbm_count.Sergey Poznyakoff1
* Check for unsigned long long, define substitution variable GDBM_COUNT_T. * src/gdbmcount.c: New file. * src/ (libgdbm_la_SOURCES): Add gdbmcount.c. * src/bucket.c (_gdbm_read_bucket_at): New function. * src/ (gdbm_count_t): New typedef. (gdbm_count): New proto. * src/gdbmdefs.h (GDBM_DIR_COUNT): New define. * src/proto.h (_gdbm_read_bucket_at): New proto. * src/var.c: New variable "filemode". * src/gdbmtool.c: Use gdbm_count. Various bugfixes. * NEWS: Update. * doc/gdbm.texinfo: Update.
2013-05-11Rewrite gdbmtool parser.Sergey Poznyakoff1
* src/testgdbm.c: Remove. * src/gdbmtool.c: New file. * src/gdbmtool.h: New file. * src/gram.y: New file. * src/lex.l: New file. * src/ Update.
2013-05-08Rename testgdbm to gdbmtool. Improve documentation.Sergey Poznyakoff1
* Fix a typo. * src/.cvsignore: Add gdbmtool * src/ Rename testgdbm to gdbmtool. Source file not renamed because of CVS deficiency. * src/gdbm_dump.c: Enable NLS. * src/gdbm_load.c: Likewise. * src/testgdbm.c: New option -q (--quiet). New command: prompt. * doc/ (man_MANS): Add new manpages. * doc/gdbmtool.1: New file. * doc/gdbm_load.1: New file. * doc/gdbm_dump.1: New file. * doc/gdbm.3: Update. * doc/gdbm.texinfo: Update. (AC_INIT): Add webpage URL.Sergey Poznyakoff1
2013-05-07Minor changeSergey Poznyakoff1
* Require autoconf 2.69 or newer (in response to Puszcza bug #171).
2011-11-15Version 1.10.90Sergey Poznyakoff1
2011-11-13Implement new dump format. Add new utilities: gdbm_dump and gdbm_load.Sergey Poznyakoff1
* (AC_CHECK_HEADERS): Don't check for files that must always be present. Check for getopt.h. (AC_CHECK_FUNCS): Add getopt_long * src/systems.h: Include useless #if's. * src/flatfile.c: Split into two files: * src/gdbmexp.c: ... this and ... * src/gdbmimp.c: .., this * src/mem.c: New file. * src/base64.c: New file. * src/gdbm_dump.c: New file. * src/gdbm_load.c: New file. * src/gdbmapp.h: New file. * src/gdbmdump.c: New file. * src/gdbmload.c: New file. * src/parseopt.c: New file. * src/progname.c: New file. * src/.cvsignore: Update. * src/ (libgdbm_la_SOURCES): Add new files. (noinst_LIBRARIES): New variable. Build libgdbmapp.a. (libgdbmapp_a_SOURCES): New variable. (bin_PROGRAMS): Add gdbm_load and gdbm_dump (testgdbm_LDADD, gdbm_load_LDADD) (gdbm_dump_LDADD): Add ./libgdbmapp.a * src/ Include <stdio.h> (gdbm_export_to_file) (gdbm_import_from_file): New prototypes. (GDBM_DUMP_FMT_BINARY,GDBM_DUMP_FMT_ASCII): New constants. (gdbm_dump,gdbm_load) (gdbm_dump_to_file,gdbm_load_from_file): New prototypes. (GDBM_NO_DBNAME): New error code. (_GDBM_MAX_ERRNO): Update. * src/gdbmdefs.h (_GDBM_MAX_DUMP_LINE_LEN): New constant. * src/gdbmerrno.c (gdbm_errlist): Add entry for GDBM_NO_DBNAME. * src/proto.h (_gdbm_base64_encode,_gdbm_base64_decode) (_gdbm_load,_gdbm_dump): New prototypes. * src/testgdbm.c: Use gdbmapp interface for option parsing. * export/export.c: Include gdbmexp.c * export/.cvsignore: Update. * doc/gdbm.texinfo: Update.
2011-11-13Version 1.10Sergey Poznyakoff1
* NEWS: Raise version number. * Raise version number.
2011-08-17Introduce new error code.Sergey Poznyakoff1
*, NEWS: Raise patchlevel to 90. * src/ Enclose entire file in conditional extern "C". (GDBM_FILE_STAT_ERROR): New error code. (_GDBM_MAX_ERRNO): Update. * src/gdbmerrno.c (gdbm_errlist): Update. * src/gdbmopen.c: Set GDBM_FILE_STAT_ERROR on fstat failure. * src/gdbmreorg.c: Likewise. * src/mmap.c: Likewise. * src/systems.h: Include errno.h * gdbm.texinfo: Document GDBM_FILE_STAT_ERROR.
2011-08-16Internationalization.Sergey Poznyakoff1
* (SUBDIRS): Add po. (EXTRA_DIST): Add build-aux/config.rpath. * (AC_CONFIG_FILES): Add po/ * bootstrap: New file. * src/ (AM_CPPFLAGS): Define LOCALEDIR (noinst_HEADERS): Add gettext.h (LIBADD): New variable. * src/gettext.h: New file. * po/.cvsignore: New file. * po/Makevars: New file. * po/ New file. * src/gdbmdefs.h: Define DEFAULT_TEXT_DOMAIN, _, N_ Include gettext.h * src/bucket.c: Add NLS markers. * src/falloc.c: Likewise. * src/findkey.c: Likewise. * src/gdbmerrno.c: Likewise. * src/gdbmfetch.c: Likewise. * src/gdbmseq.c: Likewise. * src/gdbmstore.c: Likewise. * src/update.c: Likewise. * src/testgdbm.c: Add NLS markers. (main): Initialize I18N.
2011-08-13Improve release checking: use gnits.Sergey Poznyakoff1
* (AM_INIT_AUTOMAKE): Use gnits. (AC_INIT): Remove extra quoting from around version number to pacify gnits. * THANKS: New file.
2011-08-13Version 1.9.1Sergey Poznyakoff1
2011-08-06Require latest autotools. Enable silent mode.Sergey Poznyakoff1
2011-08-03Define Major,Minor numbers and Patchlevel separately.Sergey Poznyakoff1
2011-08-03Update copyright headers.Sergey Poznyakoff1
2011-08-02Add tests.Sergey Poznyakoff1
2011-08-01Use AM_INIT_AUTOMAKE with arguments.Sergey Poznyakoff1
2009-01-03Update bug-reporting address.Sergey Poznyakoff1
2008-11-30Implement a new basic locking mechanism for GDBM. Add _gdbm_lock_file() andJason Downs1
_gdbm_unlock_file(), which will try to use flock(), lockf(), and fcntl() to lock the file. From ChangeLog: * Add test for lockf. * src/lock.c: New file, adds _gdbm_unlock_file() and _gdbm_lock_file() routines. These attempt to use flock(), lockf(), and fcntl() locking. * src/proto.h: Add new prototypes. * src/systems.h: Remove file locking macros. * src/gdbmopen.c: Rewrite locking code, use _gdbm_lock_file(). * src/gdbmclose.c, src/gdbmreorg.c: Use _gdbm_unlock_file().
2008-11-30The library was not working on Solaris due to file locking. fcntl locks areJason Downs1
not working over NFS at all. They also need to be changed to use flock64 structs, which has been done. File locking needs to be refactored within the library. We likely need to add lockf support, and use a better method for determining which locking type to use (our current method is to just make assumptions). testgdbm now builds on Solaris. From ChangeLog: * Add test for sys/termios.h * src/systems.h: Add macros for Solaris-style 64bit fcntl locks. * src/testgdbm.c: Add support for opening files without locking. Add sys/termios.h include and add check for TIOCWINSZ. * export/export.c: Add support for opening files without locking.
2008-11-21Initial revisionJason Downs1

Return to:

Send suggestions and report system problems to the System administrator.