From f4a417f8fbbd38f53a0a4b01da2f29837a0036aa Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Tue, 23 Aug 2016 08:42:25 -0700 Subject: [PATCH] Fix handling of unsigned char strings (#373) (cherry picked from commit a79c7b4e8fb2c1b512b38a6da22c69fe5680fd19) --- fmt/format.h | 2 ++ test/format-test.cc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/fmt/format.h b/fmt/format.h index a101edbe..1446089c 100644 --- a/fmt/format.h +++ b/fmt/format.h @@ -1245,7 +1245,9 @@ class MakeValue : public Arg { FMT_MAKE_VALUE(char *, string.value, CSTRING) FMT_MAKE_VALUE(const char *, string.value, CSTRING) + FMT_MAKE_VALUE(signed char *, sstring.value, CSTRING) FMT_MAKE_VALUE(const signed char *, sstring.value, CSTRING) + FMT_MAKE_VALUE(unsigned char *, ustring.value, CSTRING) FMT_MAKE_VALUE(const unsigned char *, ustring.value, CSTRING) FMT_MAKE_STR_VALUE(const std::string &, STRING) FMT_MAKE_STR_VALUE(StringRef, STRING) diff --git a/test/format-test.cc b/test/format-test.cc index 6eb7e2a7..6fa71300 100644 --- a/test/format-test.cc +++ b/test/format-test.cc @@ -1343,6 +1343,8 @@ TEST(FormatterTest, FormatUCharString) { EXPECT_EQ("test", format("{0:s}", str)); const unsigned char *const_str = str; EXPECT_EQ("test", format("{0:s}", const_str)); + unsigned char *ptr = str; + EXPECT_EQ("test", format("{0:s}", ptr)); } TEST(FormatterTest, FormatPointer) {