[TRAFODION-2785] mxosrvr dumps core generated when loading data Need to cast it as a unsigned char to output the correct byte Otherwise sprintf was printing it as oxff
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/73dd762d Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/73dd762d Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/73dd762d Branch: refs/heads/master Commit: 73dd762debae0386640e6c38853e47aa9d1517a2 Parents: 450d5cf Author: selvaganesang <[email protected]> Authored: Tue Oct 31 18:07:06 2017 +0000 Committer: selvaganesang <[email protected]> Committed: Tue Oct 31 18:07:06 2017 +0000 ---------------------------------------------------------------------- core/sql/exp/ExpError.cpp | 2 +- core/sql/regress/charsets/EXPECTED314 | 4 ++-- core/sql/regress/charsets/EXPECTED315 | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/73dd762d/core/sql/exp/ExpError.cpp ---------------------------------------------------------------------- diff --git a/core/sql/exp/ExpError.cpp b/core/sql/exp/ExpError.cpp index b9d03f5..b35c6ee 100644 --- a/core/sql/exp/ExpError.cpp +++ b/core/sql/exp/ExpError.cpp @@ -619,7 +619,7 @@ char *stringToHex(char * out, Int32 outLen, char * in, Int32 inLen) char hex[3]; for(int i = 0; i < hexLen; i++) { - snprintf(hex, sizeof(hex), "%02x", (char)in[i]); + snprintf(hex, sizeof(hex), "%02x", (unsigned char)in[i]); strcat(out,hex); } return out; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/73dd762d/core/sql/regress/charsets/EXPECTED314 ---------------------------------------------------------------------- diff --git a/core/sql/regress/charsets/EXPECTED314 b/core/sql/regress/charsets/EXPECTED314 index aa64731..fb4eb8a 100644 --- a/core/sql/regress/charsets/EXPECTED314 +++ b/core/sql/regress/charsets/EXPECTED314 @@ -468,12 +468,12 @@ C5BF >>-- Invalid UTF-16 surrogate pairs >>select converttohex(TRANSLATE(_ucs2 X'D8340041' using UCS2toUTF8)) from >>(values(0))x; -*** ERROR[8690] An invalid character value encountered in TRANSLATE function. Source charset UNICODE , Target charset UTF8. Error data in HEX: 34ff4100 . +*** ERROR[8690] An invalid character value encountered in TRANSLATE function. Source charset UNICODE , Target charset UTF8. Error data in HEX: 34d84100 . --- 0 row(s) selected. >>select converttohex(TRANSLATE(_ucs2 X'DD1E0041' using UCS2toUTF8)) from >>(values(0))x; -*** ERROR[8690] An invalid character value encountered in TRANSLATE function. Source charset UNICODE , Target charset UTF8. Error data in HEX: 1eff4100 . +*** ERROR[8690] An invalid character value encountered in TRANSLATE function. Source charset UNICODE , Target charset UTF8. Error data in HEX: 1edd4100 . --- 0 row(s) selected. >>cqd TRANSLATE_ERROR_UNICODE_TO_UNICODE 'off'; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/73dd762d/core/sql/regress/charsets/EXPECTED315 ---------------------------------------------------------------------- diff --git a/core/sql/regress/charsets/EXPECTED315 b/core/sql/regress/charsets/EXPECTED315 index 4bdf815..3f15bfc 100644 --- a/core/sql/regress/charsets/EXPECTED315 +++ b/core/sql/regress/charsets/EXPECTED315 @@ -661,7 +661,7 @@ GOOD --- 0 row(s) selected. >>select converttohex(TRANSLATE('abcdefgh' || _utf8 x'E0A0A0' using >>UTF8toISO88591)) from (values(0))x; -*** ERROR[8690] An invalid character value encountered in TRANSLATE function. Source charset UTF8 , Target charset ISO88591. Error data in HEX: 6162636465666768ffffff . +*** ERROR[8690] An invalid character value encountered in TRANSLATE function. Source charset UTF8 , Target charset ISO88591. Error data in HEX: 6162636465666768e0a0a0 . --- 0 row(s) selected. >>
