diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-07-09 11:40:19 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-07-09 12:11:20 +0300 |
commit | e8cad816f36b1cad11bb67c96f0ce878cf30844e (patch) | |
tree | c971d9de6369f9e340a3764d848c24d4a2ce96e8 /src/gdbmsetopt.c | |
parent | 0eafbb93c82a489204f54259593f2aaeb9cdbfc4 (diff) | |
download | gdbm-e8cad816f36b1cad11bb67c96f0ce878cf30844e.tar.gz gdbm-e8cad816f36b1cad11bb67c96f0ce878cf30844e.tar.bz2 |
Don't bail out on fatal errors, unless the user defines the fatal_err function
* 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.
Diffstat (limited to 'src/gdbmsetopt.c')
-rw-r--r-- | src/gdbmsetopt.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/gdbmsetopt.c b/src/gdbmsetopt.c index 47e01ad..39b5e04 100644 --- a/src/gdbmsetopt.c +++ b/src/gdbmsetopt.c @@ -68,13 +68,13 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) /* Optval will point to the new size of the cache. */ if (dbf->bucket_cache != NULL) { - gdbm_set_errno (dbf, GDBM_OPT_ALREADY_SET, 0); + gdbm_set_errno (dbf, GDBM_OPT_ALREADY_SET, FALSE); return -1; } if (get_size (optval, optlen, &sz)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } return _gdbm_init_cache (dbf, (sz > 9) ? sz : 10); @@ -82,7 +82,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETCACHESIZE: if (!optval || optlen != sizeof (size_t)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } *(size_t*) optval = dbf->cache_size; @@ -92,7 +92,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_FASTMODE: if ((n = getbool (optval, optlen)) == -1) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } dbf->fast_write = n; @@ -104,7 +104,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) /* Optval will point to either true or false. */ if ((n = getbool (optval, optlen)) == -1) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } dbf->fast_write = !n; @@ -113,7 +113,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETSYNCMODE: if (!optval || optlen != sizeof (int)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } *(int*) optval = !dbf->fast_write; @@ -124,7 +124,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) /* Optval will point to either true or false. */ if ((n = getbool (optval, optlen)) == -1) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } dbf->central_free = n; @@ -133,7 +133,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETCENTFREE: if (!optval || optlen != sizeof (int)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } *(int*) optval = !dbf->central_free; @@ -144,7 +144,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) /* Optval will point to either true or false. */ if ((n = getbool (optval, optlen)) == -1) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } dbf->coalesce_blocks = n; @@ -153,7 +153,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETCOALESCEBLKS: if (!optval || optlen != sizeof (int)) { - gdbm_set_errno (NULL, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (NULL, GDBM_OPT_ILLEGAL, FALSE); return -1; } *(int*) optval = dbf->coalesce_blocks; @@ -164,7 +164,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) #if HAVE_MMAP if ((n = getbool (optval, optlen)) == -1) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } __fsync (dbf); @@ -183,7 +183,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) dbf->memory_mapping = FALSE; } #else - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; #endif break; @@ -191,7 +191,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETMMAP: if (!optval || optlen != sizeof (int)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } *(int*) optval = dbf->memory_mapping; @@ -205,7 +205,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) if (get_size (optval, optlen, &sz)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } dbf->mapped_size_max = ((sz + page_size - 1) / page_size) * @@ -214,14 +214,14 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) break; } #else - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; #endif case GDBM_GETMAXMAPSIZE: if (!optval || optlen != sizeof (size_t)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } *(size_t*) optval = dbf->mapped_size_max; @@ -231,7 +231,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETFLAGS: if (!optval || optlen != sizeof (int)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } else @@ -250,7 +250,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) case GDBM_GETDBNAME: if (!optval || optlen != sizeof (char*)) { - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } else @@ -258,7 +258,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) char *p = strdup (dbf->name); if (!p) { - gdbm_set_errno (dbf, GDBM_MALLOC_ERROR, 0); + gdbm_set_errno (dbf, GDBM_MALLOC_ERROR, FALSE); return -1; } *(char**) optval = p; @@ -266,7 +266,7 @@ gdbm_setopt (GDBM_FILE dbf, int optflag, void *optval, int optlen) break; default: - gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, 0); + gdbm_set_errno (dbf, GDBM_OPT_ILLEGAL, FALSE); return -1; } |