[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.
 >>

Reply via email to