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/gdbm.h.in | |
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/gdbm.h.in')
-rw-r--r-- | src/gdbm.h.in | 10 |
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 |