Fix PrintfTraits print out newlib only supports a subset of GCC string format specifiers. Update the PrintfTraits so it actually print the formatted value. Change-Id: I7c363614897b6136730d83475a0518b7fe34d329
diff --git a/crt/printf_traits.h b/crt/printf_traits.h index 14be9bc..bf1dc68 100644 --- a/crt/printf_traits.h +++ b/crt/printf_traits.h
@@ -29,13 +29,13 @@ template <> struct PrintfTraits<int8_t> { static constexpr const char* kFmt = "%d"; - static constexpr const char* kFmtHex = "0x%hhx"; + static constexpr const char* kFmtHex = "0x%02x"; }; template <> struct PrintfTraits<int16_t> { - static constexpr const char* kFmt = "%hd"; - static constexpr const char* kFmtHex = "0x%hx"; + static constexpr const char* kFmt = "%d"; + static constexpr const char* kFmtHex = "0x%04x"; }; template <> @@ -47,13 +47,13 @@ template <> struct PrintfTraits<uint8_t> { static constexpr const char* kFmt = "%u"; - static constexpr const char* kFmtHex = "0x%hhx"; + static constexpr const char* kFmtHex = "0x%02x"; }; template <> struct PrintfTraits<uint16_t> { - static constexpr const char* kFmt = "%hu"; - static constexpr const char* kFmtHex = "0x%hx"; + static constexpr const char* kFmt = "%u"; + static constexpr const char* kFmtHex = "0x%04x"; }; template <>