aboutsummaryrefslogtreecommitdiff
path: root/src/debug.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-07-26 11:43:41 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-07-26 16:57:10 +0300
commit010d436f9743a1f023fb90d51408322096456387 (patch)
tree4b673b48ce034538dd76a31c3f88f080a47af6a7 /src/debug.c
parent7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab (diff)
downloadgdbm-010d436f9743a1f023fb90d51408322096456387.tar.gz
gdbm-010d436f9743a1f023fb90d51408322096456387.tar.bz2
Minor changes
* src/bucket.c (_gdbm_read_bucket_at): Remove unused variable. * src/debug.c: Include ctype.h (datbuf_format): Don't use sprintf; Precede each output line with data offset.
Diffstat (limited to 'src/debug.c')
-rw-r--r--src/debug.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/debug.c b/src/debug.c
index 5820d7a..d18616f 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -16,6 +16,7 @@
#include "autoconf.h"
#include "gdbmdefs.h"
+#include <ctype.h>
gdbm_debug_printer_t gdbm_debug_printer;
int gdbm_debug_flags;
@@ -74,6 +75,7 @@ datbuf_format (char vbuf[DATBUFSIZE], const char *buf, size_t size)
char *q = vbuf + 51;
int i;
size_t j = 0;
+ static char hexchar[] = "0123456789ABCDEF";
for (i = 0; i < 16; i++)
{
@@ -83,8 +85,10 @@ datbuf_format (char vbuf[DATBUFSIZE], const char *buf, size_t size)
c = *(const unsigned char*)buf++;
j++;
- sprintf (p, "%02X ", c);
- p += 3;
+ *p++ = hexchar[c >> 4];
+ *p++ = hexchar[c & 0xf];
+ *p++ = ' ';
+
*q++ = isprint (c) ? c : '.';
if (i == 7)
{
@@ -111,6 +115,7 @@ gdbm_debug_datum (datum dat, char const *pfx)
{
char const *buf = dat.dptr;
size_t size = dat.dsize;
+ unsigned off;
char vbuf[DATBUFSIZE];
if (!buf)
@@ -120,12 +125,14 @@ gdbm_debug_datum (datum dat, char const *pfx)
}
gdbm_debug_printer ("size=%d\n", size);
+ off = 0;
while (size)
{
size_t rd = datbuf_format (vbuf, buf, size);
- gdbm_debug_printer ("%s%s\n", pfx, vbuf);
+ gdbm_debug_printer ("%s%04x: %s\n", pfx, off, vbuf);
size -= rd;
buf += rd;
+ off += rd;
}
}

Return to:

Send suggestions and report system problems to the System administrator.