Thrift-1375: fixed a hex char conversion bug in TJSONProtocol
Client: java
Patch: Dave Watson
Fixed a hex char conversion bug in TJSONProtocol: 10 ~ 15 <=> 'a' ~ 'f'.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1179904 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java b/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java
index 10af5c7..f07a4a7 100644
--- a/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java
+++ b/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java
@@ -331,7 +331,7 @@
return (byte)((char)ch - '0');
}
else if ((ch >= 'a') && (ch <= 'f')) {
- return (byte)((char)ch - 'a');
+ return (byte)((char)ch - 'a' + 10);
}
else {
throw new TProtocolException(TProtocolException.INVALID_DATA,
@@ -346,7 +346,7 @@
return (byte)((char)val + '0');
}
else {
- return (byte)((char)val + 'a');
+ return (byte)((char)(val - 10) + 'a');
}
}