diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-07-01 10:08:55 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-07-01 10:19:36 +0300 |
commit | 030e685eb9df82f63d73a1bf206da84b7aa52374 (patch) | |
tree | dcfc6693121e332d2cdb7c579e65ed0f397dc78e /src/gdbmerrno.c | |
parent | d6fe3b45bc669a6bc3f21e4bda69c6a052d78482 (diff) | |
download | gdbm-030e685eb9df82f63d73a1bf206da84b7aa52374.tar.gz gdbm-030e685eb9df82f63d73a1bf206da84b7aa52374.tar.bz2 |
Change return value of gdbm_close and gdbm_sync
* src/gdbm.h.in (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.
* configure.ac: Set patchlevel.
* tests/Makefile.am: Add new test.
* tests/testsuite.at: Add new test.
* tests/closerr.at: 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.
Diffstat (limited to 'src/gdbmerrno.c')
-rw-r--r-- | src/gdbmerrno.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gdbmerrno.c b/src/gdbmerrno.c index 8e24b82..4ce7f9d 100644 --- a/src/gdbmerrno.c +++ b/src/gdbmerrno.c @@ -136,7 +136,9 @@ const char * const gdbm_errlist[_GDBM_MAX_ERRNO+1] = { [GDBM_BAD_HEADER] = N_("Malformed database file header"), [GDBM_BAD_AVAIL] = N_("Malformed avail_block"), [GDBM_BAD_HASH_TABLE] = N_("Malformed hash table"), - [GDBM_BAD_DIR_ENTRY] = N_("Invalid directory entry") + [GDBM_BAD_DIR_ENTRY] = N_("Invalid directory entry"), + [GDBM_FILE_CLOSE_ERROR] = N_("Error closing file"), + [GDBM_FILE_SYNC_ERROR] = N_("Error synchronizing file") }; const char * @@ -178,7 +180,9 @@ int const gdbm_syserr[_GDBM_MAX_ERRNO+1] = { [GDBM_FILE_SEEK_ERROR] = 1, [GDBM_FILE_READ_ERROR] = 1, [GDBM_FILE_STAT_ERROR] = 1, - [GDBM_BACKUP_FAILED] = 1 + [GDBM_BACKUP_FAILED] = 1, + [GDBM_FILE_CLOSE_ERROR] = 1, + [GDBM_FILE_SYNC_ERROR] = 1 }; /* Returns true if system errno value is meaningful for GDBM error |