diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-07-26 10:43:34 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-07-26 10:43:34 +0300 |
commit | 7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab (patch) | |
tree | 899bdcd5c62eb632de6fb3c660a192c1929446c9 /src/bucket.c | |
parent | 465e893bfa0cdfb8f260500599fc3af458047a76 (diff) | |
download | gdbm-7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab.tar.gz gdbm-7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab.tar.bz2 |
Fix remaining uses of gdbm_set_errno function.
Use the GDBM_SET_ERRNO and GDBM_SET_ERRNO2 macros to make
sure the error gets reported in debug output.
* src/fullio.c (_gdbm_full_read)
(_gdbm_full_write): Return -1 and set gdbm_errno
on error.
* src/bucket.c: Use GDBM_SET_ERRNO(2?) or
GDBM_DEBUG where necessary.
* src/falloc.c: Likewise.
* src/findkey.c: Likewise.
* src/gdbmdefs.h: Likewise.
* src/gdbmopen.c: Likewise.
* src/gdbmstore.c: Likewise.
* src/mmap.c: Likewise.
* src/recover.c: Likewise.
* src/update.c: Likewise.
Diffstat (limited to 'src/bucket.c')
-rw-r--r-- | src/bucket.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/bucket.c b/src/bucket.c index 912a7b4..9f423f4 100644 --- a/src/bucket.c +++ b/src/bucket.c @@ -111,8 +111,11 @@ _gdbm_get_bucket (GDBM_FILE dbf, int dir_index) _gdbm_full_read (dbf, dbf->bucket, dbf->header->bucket_size)); if (rc) { - _gdbm_fatal (dbf, gdbm_strerror (rc)); - GDBM_SET_ERRNO (dbf, rc, TRUE); + GDBM_DEBUG (GDBM_DEBUG_ERR, + "%s: error reading bucket: %s", + dbf->name, gdbm_db_strerror (dbf)); + dbf->need_recovery = TRUE; + _gdbm_fatal (dbf, gdbm_db_strerror (dbf)); return -1; } } @@ -150,10 +153,11 @@ _gdbm_read_bucket_at (GDBM_FILE dbf, off_t off, hash_bucket *bucket, GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE); return -1; } - rc = _gdbm_full_read (dbf, bucket, size); - if (rc) + if (_gdbm_full_read (dbf, bucket, size)) { - GDBM_SET_ERRNO (dbf, rc, TRUE); + GDBM_DEBUG (GDBM_DEBUG_ERR, + "%s: error reading bucket: %s", + dbf->name, gdbm_db_strerror (dbf)); return -1; } return 0; @@ -394,7 +398,9 @@ _gdbm_write_bucket (GDBM_FILE dbf, cache_elem *ca_entry) _gdbm_full_write (dbf, ca_entry->ca_bucket, dbf->header->bucket_size)); if (rc) { - GDBM_SET_ERRNO (dbf, rc, TRUE); + GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR, + "%s: error writing bucket: %s", + dbf->name, gdbm_db_strerror (dbf)); _gdbm_fatal (dbf, gdbm_strerror (rc)); return -1; } |