[
https://issues.apache.org/jira/browse/THRIFT-3513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15081476#comment-15081476
]
James E. King, III commented on THRIFT-3513:
--------------------------------------------
I assume this is the result of looking at:
http://www.boost.org/doc/libs/1_60_0/doc/html/boost_lexical_cast/frequently_asked_questions.html
In addition, given int8_t is the C++ emitted type to store a thrift "byte", it
might be more appropriate for the output to be hexadecimal, for example a byte
containing 'K' could be output as "0x4B" or "0x4b". The proposed change would
output a byte containing 'K' as the number 75. The original code should output
the character 'K'.
I'm not sure I would consider this a bug at all.
> lib/cpp/src/thrift/TToString.h : the function "to_string" is not compatible
> for int8_t(byte)
> --------------------------------------------------------------------------------------------
>
> Key: THRIFT-3513
> URL: https://issues.apache.org/jira/browse/THRIFT-3513
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9.3
> Environment: centos6.4 , x84_64 , g++ 4.4.7
> Reporter: phoneli
>
> In Source Code " lib/cpp/src/thrift/TToString.h " ,
> lines between 34~37 :
> template <typename T>
> std::string to_string(const T& t) {
> return boost::lexical_cast<std::string>(t);
> }
> the function "to_string" is not compatible for int8_t(byte) when using
> std::cout or printf
> The Codes should change like this :
> template <typename T>
> std::string to_string(const T& t) {
> return boost::lexical_cast<std::string>(t);
> }
> std::string to_string(const int_8 & t) {
> return boost::lexical_cast<std::string>(static_cast<int>(t));
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)