aboutsummaryrefslogtreecommitdiff
path: root/compat
AgeCommit message (Collapse)AuthorFiles
2021-11-18Fix typosSergey Poznyakoff5
2021-01-02Update copyright yearsSergey Poznyakoff20
2020-12-23Update copyright yearsSergey Poznyakoff20
2019-04-08Update copyright yearsSergey Poznyakoff20
2018-08-31Various bugfixes.Sergey Poznyakoff1
* compat/dbmopen.c (ndbm_open_dir_file0): Ignore ENOENT. * src/falloc.c (push_avail_block): Free temporary storage no matter what return status. * src/gdbm.h.in (GDBM_FILE_TRUNCATE_ERROR): New error code. * src/gdbmdump.c (_gdbm_dump_ascii): Initialize rc. * src/gdbmerrno.c: Handle new error.code * src/gdbmload.c (gdbm_load_bdb_dump): Initialize rc * src/gdbmopen.c (_gdbm_ftruncate): New function. (gdbm_fd_open): Use _gdbm_ftruncate. Check its return. * src/gdbmseq.c (gdbm_firstkey): Initialize dsize * src/gdbmtool.c (command_generator): Check if cmd is NULL. (shouldn't happen, but anyways). * src/mmap.c (_gdbm_mapped_lseek): Check for vailidity of the 'whence' parameter. * src/systems.h (TRUNCATE): Remove macro. * src/util.c (vgetyn): Remove unnecessary assignment.
2018-01-01Happy GNU YearSergey Poznyakoff20
2017-01-02Happy GNU YearSergey Poznyakoff20
2016-07-25Fix distributionSergey Poznyakoff1
* src/Makefile.am: Mark gdbm.h as noinst * compat/Makefile.am (AM_CPPFLAGS): Make sure we pick up ../src/gdbm.h
2016-07-09Don't bail out on fatal errors, unless the user defines the fatal_err functionSergey Poznyakoff2
* src/bucket.c (_gdbm_get_bucket) (_gdbm_split_bucket, _gdbm_write_bucket): Return error code. All callers updated. * src/proto.h (_gdbm_get_bucket) (_gdbm_split_bucket, _gdbm_write_bucket): Update declarations * src/falloc.c (push_avail_block) (pop_avail_block): Return error code. All callers updated. * src/update.c (_gdbm_fatal): Exit only if the user defined fatal_err function. * src/gdbmerrno.c (gdbm_needs_recovery): New function. * src/gdbm.h.in (gdbm_needs_recovery): New proto. * compat/dbminit.c: Set gdbm_errno on fatal errors. * compat/dbmopen.c: Likewise. * src/findkey.c: Likewise. * src/gdbm_load.c: Likewise. * src/gdbmcount.c: Likewise. * src/gdbmdefs.h: Likewise. * src/gdbmdelete.c: Likewise. * src/gdbmdump.c: Likewise. * src/gdbmexists.c: Likewise. * src/gdbmexp.c: Likewise. * src/gdbmfetch.c: Likewise. * src/gdbmimp.c: Likewise. * src/gdbmload.c: Likewise. * src/gdbmopen.c: Likewise. * src/gdbmreorg.c: Likewise. * src/gdbmseq.c: Likewise. * src/gdbmsetopt.c: Likewise. * src/gdbmstore.c: Likewise. * src/gdbmsync.c: Likewise. * src/mmap.c: Likewise.
2016-07-09All gdbm functions return immediately if the DB is in inconsistent sate ↵Sergey Poznyakoff2
(needs recovery). * src/gdbm.h.in (GDBM_NEED_RECOVERY): New error code. * src/gdbmdefs.h (GDBM_ASSERT_CONSISTENCY): New macro. * src/gdbmerrno.c: Update. * src/gdbmopen.c (gdbm_open): Initialize need_recovery and last_error. * src/gdbmcount.c (gdbm_count): Return immediately if the database needs recovery. * src/gdbmdelete.c (gdbm_delete): Likewise. * src/gdbmdump.c (gdbm_dump_to_file, gdbm_dump): Likewise. * src/gdbmexists.c (gdbm_exists): Likewise. * src/gdbmexp.c (gdbm_export_to_file): Likewise. * src/gdbmfetch.c (gdbm_fetch): Likewise. * src/gdbmimp.c (gdbm_import_from_file): Likewise. * src/gdbmreorg.c (gdbm_reorganize): Likewise. * src/gdbmseq.c (gdbm_firstkey): Likewise. * src/gdbmsetopt.c (gdbm_nextkey): Likewise. * src/gdbmstore.c (gdbm_store): Likewise. * src/gdbmsync.c (gdbm_sync): Likewise.
2016-07-09Per-database error state.Sergey Poznyakoff2
Last error code is stored in the database file structure as well as in the global gdbm_errno. Special functions are provided for retrieving and clearing the last error state. * src/gdbmdefs.h (gdbm_file_info): New member: last_error * src/gdbm.h.in (gdbm_last_errno, gdbm_set_errno) (gdbm_clear_error): New protos. * src/gdbmerrno.c (gdbm_last_errno, gdbm_set_errno) (gdbm_clear_error): New functions * NEWS: Update. * compat/dbminit.c: Use gdbm_set_errno to set error state. * compat/dbmopen.c: Likewise. * src/bucket.c: Likewise. * src/findkey.c: Likewise. * src/gdbm_load.c: Likewise. * src/gdbmcount.c: Likewise. * src/gdbmdelete.c: Likewise. * src/gdbmdump.c: Likewise. * src/gdbmexists.c: Likewise. * src/gdbmexp.c: Likewise. * src/gdbmfetch.c: Likewise. * src/gdbmimp.c: Likewise. * src/gdbmload.c: Likewise. * src/gdbmopen.c: Likewise. * src/gdbmreorg.c: Likewise. * src/gdbmseq.c: Likewise. * src/gdbmsetopt.c: Likewise. * src/gdbmstore.c: Likewise. * src/gdbmsync.c: Likewise. * src/mmap.c: Likewise.
2016-07-07Switch to Git repositorySergey Poznyakoff1
2014-02-14Optionally install compatibility headers into a separate directory.Sergey Poznyakoff1
* configure.ac: Version 1.11.90 (COMPATINCLUDEDIR): New substitution variable. * compat/Makefile.am (compatincludedir): New variable. (include_HEADERS): Rename to compatinclude_HEADERS. * NEWS: Document COMPATINCLUDEDIR. * README: Likewise.
2013-05-08Improve testgdbm; install some more bugfixes.Sergey Poznyakoff1
* src/gdbmdefs.h: Fix typo in a comment. * src/gdbmdump.c (gdbm_dump_to_file): Improve error checking. * src/testgdbm.c: Improve interactive usage. (command) <minlen>: Rename to len. (command_tab): Initialize len. (set_minimal_abbreviations): Remove. (sort_commands): New function. (find_command): Print possible alternatives in case of ambiguous input. (main): Reset param.argc after freeing previous arguments. Continue silently if find_command returns NULL.
2011-11-11Implement cloexec in gdbm_reorganize. Add test cases.Sergey Poznyakoff1
* compat/dbmopen.c: Apply O_CLOEXEC for newly created dir file, if requested. * src/gdbmdefs.h (gdbm_file_info) <cloexec>: New member. * src/gdbmopen.c (gdbm_open): Initialize cloexec member. * src/gdbmreorg.c (gdbm_reorganize): Propagate cloexec bit to the new database. * tests/.cvsignore: Update. * tests/cloexec00.at: New test case. * tests/cloexec01.at: Likewise. * tests/cloexec02.at: Likewise. * tests/cloexec03.at: Likewise. * fdop.c: New auxiliary program. * g_open_ce: New test program. * g_reorg_ce: New test program. * d_creat_ce: New test program. * tests/Makefile.am: Add new test cases and test programs. * tests/testsuite.at: Include new test cases. * doc/gdbm.texinfo: Minor change.
2011-11-11Support close-on-exec flag for gdbm_open call.Sergey Poznyakoff1
* src/gdbm.h.in (GDBM_CLOEXEC): New flag. * src/systems.h [O_CLOEXEC]: Provide a placeholder definition. * src/gdbmopen.c (gdbm_open): Honor the GDBM_CLOEXEC flag. * compat/dbmopen.c (ndbm_open_dir_file0): Mask out open mode before comparing with GDBM_READER. Support GDBM_CLOEXEC. (dbm_open): Translate O_CLOEXEC to GDBM_CLOEXEC. * doc/gdbm.texinfo: Document GDBM_CLOEXEC. * NEWS: Update.
2011-11-10Fix handling of NDBM databases in read-only mode.Sergey Poznyakoff1
* compat/dbmopen.c (ndbm_open_dir_file0): Open dir file in read-only mode if the database is being opened as GDBM_READER. * tests/dbmcvt.at: New file. * tests/dbmfetch02.at: New file. * tests/dbmfetch03.at: New file. * tests/Makefile.am (TESTSUITE_AT): Add new files. * tests/testsuite.at: Include new testcases.
2011-08-14* compat/Makefile.am (libgdbm_compat_la_LIBADD): Link against libgdbm.Sergey Poznyakoff1
2011-08-09Implement dbm_error and dbm_clearerr.Sergey Poznyakoff8
* compat/ndbm.h (__gdbm_error_to_ndbm): New macro (dbm_error,dbm_clearerr): Provide prototypes instead of the macros. (DBM) <_dbm_errno>: New member. * compat/dbmerr.c: New file. * compat/Makefile.am (NDBM_CF): Add dbmerr.c * compat/dbmdelete.c: Make sure _dbm_errno reflects the actual error state. * compat/dbmfetch.c: Likewise. * compat/dbmseq.c: Likewise. * compat/dbmstore.c: Likewise.
2011-08-06(dbm_open): Instead of linking pag to dir, create a separate dir fileSergey Poznyakoff1
with the version information in it. When opening an existing db in write mode, detect if it has pag linked to dir. If so, break the link and recreate the dir file in new format. This allows GDBM to cooperate with the applications which lock both pag and dir files.
2011-08-06(dbm_dirfno): Return dirfd.Sergey Poznyakoff1
2011-08-06(dbm_close): Close dirfd.Sergey Poznyakoff1
2011-08-06(DBM) <dirfd>: New member.Sergey Poznyakoff1
2011-08-05Include nbdm.h.Sergey Poznyakoff10
Use the new DBM declaration.
2011-08-05Rewrite using ndbm interface.Sergey Poznyakoff5
2011-08-05(include_HEADERS): Add dbm.h and ndbm.hSergey Poznyakoff1
(noinst_HEADERS): Add dbm-priv.h
2011-08-05New file.Sergey Poznyakoff3
2011-08-03Update copyright headers.Sergey Poznyakoff16
2011-08-02Update cvsignore files.Sergey Poznyakoff1
2011-08-02Update.Sergey Poznyakoff1
2011-08-01Remove useless includes.Sergey Poznyakoff2
2011-08-01Use GDBM_FILE instead of gdbm_file_info *.Sergey Poznyakoff9
2008-12-03Add .cvsignore filesSergey Poznyakoff1
2008-12-01Kill generated filesJason Downs1
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: * configure.ac: 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 Downs17

Return to:

Send suggestions and report system problems to the System administrator.