]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
changed Com_HexDumpToConsole to print space separated 4 byte groups, added some comme...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 17 May 2004 19:08:44 +0000 (19:08 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 17 May 2004 19:08:44 +0000 (19:08 +0000)
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

index aa940a5fc01d188ca5b16721d55f8124e801301d..147393cd909fa2e6946c652512576f81d04d199b 100644 (file)
--- 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)