aboutsummaryrefslogtreecommitdiff
path: root/src/gdbmseq.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-07-25 18:21:05 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-07-25 18:21:05 +0300
commit465e893bfa0cdfb8f260500599fc3af458047a76 (patch)
tree66542ee72c48ab7b32590bcc9fa9e30d0d77d277 /src/gdbmseq.c
parent2cc71d6ea5bb991fc63caa08b06c6479a87d0b63 (diff)
downloadgdbm-465e893bfa0cdfb8f260500599fc3af458047a76.tar.gz
gdbm-465e893bfa0cdfb8f260500599fc3af458047a76.tar.bz2
Improve debugging and error tracing.
* src/gdbmdefs.h (GDBM_SET_ERRNO) (GDBM_SET_ERRNO2): New macros. * src/base64.c: Use new macros to set error state. * src/bucket.c: Likewise. * src/falloc.c: Likewise. * src/findkey.c: Likewise. * src/gdbm_load.c: Likewise. * src/gdbmdelete.c: Likewise. * src/gdbmdump.c: Likewise. * src/gdbmexp.c: Likewise. * src/gdbmfetch.c: Likewise. * src/gdbmimp.c: Likewise. * src/gdbmload.c: Likewise. * src/gdbmopen.c: Likewise. * src/gdbmseq.c: Likewise. * src/gdbmsetopt.c: Likewise. * src/gdbmstore.c: Likewise. * src/gdbmtool.c: Fix preprocessor conditional.
Diffstat (limited to 'src/gdbmseq.c')
-rw-r--r--src/gdbmseq.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gdbmseq.c b/src/gdbmseq.c
index 08a8f10..29a34b1 100644
--- a/src/gdbmseq.c
+++ b/src/gdbmseq.c
@@ -64,7 +64,8 @@ get_next_key (GDBM_FILE dbf, int elem_loc, datum *return_val)
else
{
/* No next key, just return. */
- gdbm_set_errno (dbf, GDBM_ITEM_NOT_FOUND, FALSE);
+ GDBM_SET_ERRNO2 (dbf, GDBM_ITEM_NOT_FOUND, FALSE,
+ GDBM_DEBUG_LOOKUP);
return;
}
}
@@ -83,7 +84,7 @@ get_next_key (GDBM_FILE dbf, int elem_loc, datum *return_val)
if (return_val->dptr == NULL)
{
return_val->dsize = 0;
- gdbm_set_errno (dbf, GDBM_MALLOC_ERROR, FALSE);
+ GDBM_SET_ERRNO2 (dbf, GDBM_MALLOC_ERROR, FALSE, GDBM_DEBUG_LOOKUP);
}
else
memcpy (return_val->dptr, find_data, return_val->dsize);
@@ -147,7 +148,9 @@ gdbm_nextkey (GDBM_FILE dbf, datum key)
if (key.dptr == NULL)
{
GDBM_DEBUG (GDBM_DEBUG_READ, "%s: key not found", dbf->name);
- gdbm_set_errno (dbf, GDBM_ITEM_NOT_FOUND, FALSE); /* FIXME: special error code perhaps */
+ GDBM_SET_ERRNO2 (dbf, GDBM_ITEM_NOT_FOUND, /* FIXME: special error code perhaps */
+ FALSE,
+ GDBM_DEBUG_LOOKUP);
return return_val;
}

Return to:

Send suggestions and report system problems to the System administrator.