aboutsummaryrefslogtreecommitdiff
path: root/src/gdbmerrno.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-07-01 10:08:55 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-07-01 10:19:36 +0300
commit030e685eb9df82f63d73a1bf206da84b7aa52374 (patch)
treedcfc6693121e332d2cdb7c579e65ed0f397dc78e /src/gdbmerrno.c
parentd6fe3b45bc669a6bc3f21e4bda69c6a052d78482 (diff)
downloadgdbm-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.c8
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

Return to:

Send suggestions and report system problems to the System administrator.