core: At debug levels up to 9 print only an ascii dump.
* src/debug.c (_gpgme_debug_buffer): Switch between two output formats. -- The new format is much more practical than the bunch of hex digits followed by just 16 ascii chars. To get the old behaviour use a debug level of 10. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
f6fd90c99a
commit
4f11210b21
82
src/debug.c
82
src/debug.c
@ -403,33 +403,65 @@ _gpgme_debug_buffer (int lvl, const char *const fmt,
|
|||||||
if (!buffer)
|
if (!buffer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
while (idx < len)
|
if (lvl > 9)
|
||||||
{
|
{
|
||||||
char str[51];
|
while (idx < len)
|
||||||
char *strp = str;
|
{
|
||||||
char *strp2 = &str[34];
|
char str[51];
|
||||||
|
char *strp = str;
|
||||||
|
char *strp2 = &str[34];
|
||||||
|
|
||||||
for (j = 0; j < 16; j++)
|
for (j = 0; j < 16; j++)
|
||||||
{
|
{
|
||||||
unsigned char val;
|
unsigned char val;
|
||||||
if (idx < len)
|
if (idx < len)
|
||||||
{
|
{
|
||||||
val = buffer[idx++];
|
val = buffer[idx++];
|
||||||
*(strp++) = TOHEX (val >> 4);
|
*(strp++) = TOHEX (val >> 4);
|
||||||
*(strp++) = TOHEX (val % 16);
|
*(strp++) = TOHEX (val % 16);
|
||||||
*(strp2++) = isprint (val) ? val : '.';
|
*(strp2++) = isprint (val)? val : '.';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
*(strp++) = ' ';
|
*(strp++) = ' ';
|
||||||
*(strp++) = ' ';
|
*(strp++) = ' ';
|
||||||
}
|
}
|
||||||
if (j == 7)
|
if (j == 7)
|
||||||
*(strp++) = ' ';
|
*(strp++) = ' ';
|
||||||
}
|
}
|
||||||
*(strp++) = ' ';
|
*(strp++) = ' ';
|
||||||
*(strp2) = '\0';
|
*(strp2) = '\0';
|
||||||
|
|
||||||
_gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL, fmt, func, str);
|
_gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL, fmt, func, str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (idx < len)
|
||||||
|
{
|
||||||
|
char str[48+4+1];
|
||||||
|
char *strp = str;
|
||||||
|
|
||||||
|
for (j = 0; j < 48; j++)
|
||||||
|
{
|
||||||
|
unsigned char val;
|
||||||
|
if (idx < len)
|
||||||
|
{
|
||||||
|
val = buffer[idx++];
|
||||||
|
if (val == '\n')
|
||||||
|
{
|
||||||
|
*strp++ = '<';
|
||||||
|
*strp++ = 'L';
|
||||||
|
*strp++ = 'F';
|
||||||
|
*strp++ = '>';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
*strp++ = (val > 31 && val < 127)? val : '.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*strp = 0;
|
||||||
|
|
||||||
|
_gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL, fmt, func, str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user