]> granicus.if.org Git - strace/commitdiff
tests/hexdump_strdup.c: add support for longer strings
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 2 Apr 2016 01:05:25 +0000 (01:05 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 2 Apr 2016 01:05:25 +0000 (01:05 +0000)
* tests/hexdump_strdup.c (hexdump_strdup): Output extra space character
before hexdumping of the 9th symbol.

tests/hexdump_strdup.c

index e1910fa1958522322d0dcc3a7a091ad17e632160..d7e083a4d7a936759e2e30f9bb8b9eabac05f637 100644 (file)
@@ -37,7 +37,7 @@ const char *
 hexdump_strdup(const char *src)
 {
        size_t src_len = strlen(src);
-       size_t dst_size = 3 * src_len + 1;
+       size_t dst_size = 3 * src_len + 2;
        assert(dst_size > src_len);
 
        char *dst = malloc(dst_size);
@@ -46,9 +46,12 @@ hexdump_strdup(const char *src)
 
        char *p = dst;
        const unsigned char *usrc = (const unsigned char *) src;
-       for (; *usrc; ++usrc) {
-               unsigned int c = *usrc;
+       unsigned int i;
+       for (i = 0; usrc[i]; ++i) {
+               unsigned int c = usrc[i];
                *(p++) = ' ';
+               if (i == 8)
+                       *(p++) = ' ';
                *(p++) = "0123456789abcdef"[c >> 4];
                *(p++) = "0123456789abcdef"[c & 0xf];
        }