cpp: add fix for Thrift5272
patch taken from Jira issue, with permission of author (github-user @jvoosten)
diff --git a/lib/cpp/src/thrift/TToString.h b/lib/cpp/src/thrift/TToString.h
index d91c58c..fe46032 100644
--- a/lib/cpp/src/thrift/TToString.h
+++ b/lib/cpp/src/thrift/TToString.h
@@ -45,6 +45,14 @@
return o.str();
}
+// special handling of i8 datatypes (THRIFT-5272)
+inline std::string to_string(const int8_t& t) {
+ std::ostringstream o;
+ o.imbue(default_locale);
+ o << static_cast<int>(t);
+ return o.str();
+}
+
// TODO: replace the computations below with std::numeric_limits::max_digits10 once C++11
// is enabled.
inline std::string to_string(const float& t) {