summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/base/cprintf_formats.hh6
-rw-r--r--src/unittest/cprintftest.cc1
2 files changed, 4 insertions, 3 deletions
diff --git a/src/base/cprintf_formats.hh b/src/base/cprintf_formats.hh
index 58ee7f795..3ea20446d 100644
--- a/src/base/cprintf_formats.hh
+++ b/src/base/cprintf_formats.hh
@@ -288,13 +288,13 @@ format_integer(std::ostream &out, const T &data, Format &fmt)
{ _format_integer(out, data, fmt); }
inline void
format_integer(std::ostream &out, char data, Format &fmt)
-{ _format_integer(out, data, fmt); }
+{ _format_integer(out, (int)data, fmt); }
inline void
format_integer(std::ostream &out, unsigned char data, Format &fmt)
-{ _format_integer(out, data, fmt); }
+{ _format_integer(out, (int)data, fmt); }
inline void
format_integer(std::ostream &out, signed char data, Format &fmt)
-{ _format_integer(out, data, fmt); }
+{ _format_integer(out, (int)data, fmt); }
#if 0
inline void
format_integer(std::ostream &out, short data, Format &fmt)
diff --git a/src/unittest/cprintftest.cc b/src/unittest/cprintftest.cc
index 9c3eb0cd6..a05426356 100644
--- a/src/unittest/cprintftest.cc
+++ b/src/unittest/cprintftest.cc
@@ -43,6 +43,7 @@ main()
char foo[9];
cprintf("%s\n", foo);
+ cprintf("%d\n", 'A');
cprintf("%shits%%s + %smisses%%s\n", "test", "test");
cprintf("%%s%-10s %c he went home \'\"%d %#o %#x %1.5f %1.2E\n",
"hello", 'A', 1, 0xff, 0xfffffffffffffULL, 3.141592653589, 1.1e10);