commit 86e55567b4b1cccbb69065396391e4a500864dce (tree)
parent 78a110cda5bcd4593154d19feaff9cb4ac106fd4
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Sun, 2 Sep 2018 11:31:05 -0400
Merge pull request #1454 from kristate/str-hexbytes-issue1453
std.fmt: print zeroed high-order bytes correctly in hex
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/std/fmt/index.zig b/std/fmt/index.zig
@@ -352,7 +352,7 @@ pub fn formatText(
return formatBuf(bytes, width, context, Errors, output);
} else if ((fmt[0] == 'x') or (fmt[0] == 'X') ) {
for (bytes) |c| {
- try formatInt(c, 16, fmt[0] == 'X', 0, context, Errors, output);
+ try formatInt(c, 16, fmt[0] == 'X', 2, context, Errors, output);
}
return;
} else @compileError("Unknown format character: " ++ []u8{fmt[0]});
@@ -1281,6 +1281,8 @@ test "fmt.format" {
const some_bytes = "\xCA\xFE\xBA\xBE";
try testFmt("lowercase: cafebabe\n", "lowercase: {x}\n", some_bytes);
try testFmt("uppercase: CAFEBABE\n", "uppercase: {X}\n", some_bytes);
+ const bytes_with_zeros = "\x00\x0E\xBA\xBE";
+ try testFmt("lowercase: 000ebabe\n", "lowercase: {x}\n", bytes_with_zeros);
}
}