aboutsummaryrefslogtreecommitdiff
path: root/src/gdbm.h.in
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/gdbm.h.in
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/gdbm.h.in')
-rw-r--r--src/gdbm.h.in10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gdbm.h.in b/src/gdbm.h.in
index e6bdc58..6318ad8 100644
--- a/src/gdbm.h.in
+++ b/src/gdbm.h.in
@@ -113,7 +113,7 @@ extern GDBM_FILE gdbm_fd_open (int fd, const char *file_name, int block_size,
int flags, void (*fatal_func) (const char *));
extern GDBM_FILE gdbm_open (const char *, int, int, int,
void (*)(const char *));
-extern void gdbm_close (GDBM_FILE);
+extern int gdbm_close (GDBM_FILE);
extern int gdbm_store (GDBM_FILE, datum, datum, int);
extern datum gdbm_fetch (GDBM_FILE, datum);
extern int gdbm_delete (GDBM_FILE, datum);
@@ -121,7 +121,7 @@ extern datum gdbm_firstkey (GDBM_FILE);
extern datum gdbm_nextkey (GDBM_FILE, datum);
extern int gdbm_reorganize (GDBM_FILE);
-extern void gdbm_sync (GDBM_FILE);
+extern int gdbm_sync (GDBM_FILE);
extern int gdbm_exists (GDBM_FILE, datum);
extern int gdbm_setopt (GDBM_FILE, int, void *, int);
extern int gdbm_fdesc (GDBM_FILE);
@@ -225,9 +225,11 @@ extern int gdbm_copy_meta (GDBM_FILE dst, GDBM_FILE src);
# define GDBM_BAD_AVAIL 34
# define GDBM_BAD_HASH_TABLE 35
# define GDBM_BAD_DIR_ENTRY 36
-
+# define GDBM_FILE_CLOSE_ERROR 37
+# define GDBM_FILE_SYNC_ERROR 38
+
# define _GDBM_MIN_ERRNO 0
-# define _GDBM_MAX_ERRNO GDBM_BAD_DIR_ENTRY
+# define _GDBM_MAX_ERRNO GDBM_FILE_SYNC_ERROR
/* This one was never used and will be removed in the future */
# define GDBM_UNKNOWN_UPDATE GDBM_UNKNOWN_ERROR

Return to:

Send suggestions and report system problems to the System administrator.