From 24e64d668f12eb0821eaf86ceee459be3661192d Mon Sep 17 00:00:00 2001 From: havoc Date: Mon, 17 May 2004 19:08:44 +0000 Subject: [PATCH] changed Com_HexDumpToConsole to print space separated 4 byte groups, added some comments, and cleaned up the readability of it thanks to Tomaz for the beginnings of this patch git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4179 d7cf8633-e32d-0410-b094-e92efae38249 --- common.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/common.c b/common.c index aa940a5f..147393cd 100644 --- a/common.c +++ b/common.c @@ -408,33 +408,41 @@ void Com_HexDumpToConsole(const qbyte *data, int size) if (n > size - i) n = size - i; d = data + i; + // print offset *cur++ = hexchar[(i >> 12) & 15]; *cur++ = hexchar[(i >> 8) & 15]; *cur++ = hexchar[(i >> 4) & 15]; *cur++ = hexchar[(i >> 0) & 15]; *cur++ = ':'; - for (j = 0;j < n;j++) + // print hex + for (j = 0;j < 16;j++) { - if (j & 1) + if (j < n) { - *cur++ = hexchar[(d[j] >> 4) & 15] | 0x80; - *cur++ = hexchar[(d[j] >> 0) & 15] | 0x80; + *cur++ = hexchar[(d[j] >> 4) & 15]; + *cur++ = hexchar[(d[j] >> 0) & 15]; } else { - *cur++ = hexchar[(d[j] >> 4) & 15]; - *cur++ = hexchar[(d[j] >> 0) & 15]; + *cur++ = ' '; + *cur++ = ' '; } + if ((j & 3) == 0) + *cur++ = ' '; } - for (;j < 16;j++) + // print text + for (j = 0;j < 16;j++) { - *cur++ = ' '; - *cur++ = ' '; + if (j < n) + { + if (d[j] >= ' ' && d[j] <= 127) + *cur++ = d[j]; + else + *cur++ = '.'; + } + else + *cur++ = ' '; } - for (j = 0;j < n;j++) - *cur++ = (d[j] >= ' ' && d[j] <= 0x7E) ? d[j] : '.'; - for (;j < 16;j++) - *cur++ = ' '; *cur++ = '\n'; i += n; if (cur >= flushpointer || i >= size) -- 2.39.2