chiark / gitweb /
@@@ tty mess
[mLib] / test / tvec-types.c
index 9e7a35fe5f76b07f35b319a6a39e50613aea89e2..70ce87aad71d29441d5c7482758c3935d9ae9c09 100644 (file)
@@ -3534,7 +3534,7 @@ static void dump_bytes(const union tvec_regval *rv,
 {
   const unsigned char *p = rv->bytes.p, *l = p + rv->bytes.sz;
   size_t off, sz = rv->bytes.sz;
-  unsigned i, n;
+  unsigned i, n, w;
   int wd;
 
   if (!rv->text.sz) { dump_empty("bytes", style, gops, go); return; }
@@ -3545,17 +3545,18 @@ static void dump_bytes(const union tvec_regval *rv,
     return;
   }
 
-  if (sz > 16) gprintf(gops, go, "\n\t");
+  if (sz <= 16) w = sz;
+  else { gprintf(gops, go, "\n\t"); w = 16; }
 
   off = 0; wd = hex_width(sz);
   while (p < l) {
     if (l - p < 16) n = l - p;
     else n = 16;
 
-    for (i = 0; i < n; i++) {
+    for (i = 0; i < w; i++) {
       if (i < n) gprintf(gops, go, "%02x", p[i]);
       else gprintf(gops, go, "  ");
-      if (i < n - 1 && i%4 == 3) gprintf(gops, go, " ");
+      if (i < w - 1 && i%4 == 3) gprintf(gops, go, " ");
     }
     gprintf(gops, go, " ; ");
     if (sz > 16) gprintf(gops, go, "[%0*lx] ", wd, (unsigned long)off);
@@ -3975,7 +3976,7 @@ void tvec_initbuffer(union tvec_regval *rv,
 
 void tvec_allocbuffer(union tvec_regval *rv)
 {
-  unsigned char *p; size_t n;
+  unsigned char *p;
   size_t m = rv->buf.m, a = rv->buf.a, off;
 
   if (rv->buf.p) free(rv->buf.p - rv->buf.off);