summaryrefslogtreecommitdiffstats
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/utils.c b/src/utils.c
index 049777a..fb98471 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -46,7 +46,7 @@ void log_debug_msg(const char *format, ...)
46 va_start(args, format); 46 va_start(args, format);
47 47
48 if (toto_debug) 48 if (toto_debug)
49 fprintf(stderr, format, args); 49 vfprintf(stderr, format, args);
50 50
51 va_end(args); 51 va_end(args);
52 52
@@ -56,11 +56,35 @@ void log_debug_msg(const char *format, ...)
56inline void log_debug_buffer(const char *data, const int length) 56inline void log_debug_buffer(const char *data, const int length)
57{ 57{
58#ifndef STRIP_DEBUG_CODE 58#ifndef STRIP_DEBUG_CODE
59 int i;
60 int j;
61 unsigned char c;
59 62
60 /* run the real fprintf */ 63 if (toto_debug) {
61 if (toto_debug) 64 for (i = 0; i < length; i += 16) {
62 fwrite(data, 1, length, stderr); 65 fprintf(stderr, "%04x: ", i);
63 66 for (j = 0; j < 16; j++) {
67 if (i + j >= length) {
68 fprintf(stderr, " ");
69 continue;
70 }
71 fprintf(stderr, "%02hhx ", *(data + i + j));
72 }
73 fprintf(stderr, " | ");
74 for (j = 0; j < 16; j++) {
75 if (i + j >= length)
76 break;
77 c = *(data + i + j);
78 if ((c < 32) || (c > 127)) {
79 fprintf(stderr, ".");
80 continue;
81 }
82 fprintf(stderr, "%c", c);
83 }
84 fprintf(stderr, "\n");
85 }
86 fprintf(stderr, "\n");
87 }
64#endif 88#endif
65} 89}
66 90