diff options
author | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2020-02-04 11:52:20 +0100 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2020-02-04 11:52:20 +0100 |
commit | 206178e5e978e4194cdfe42560aef3cd14088bcf (patch) | |
tree | 50168c6db08146a0e77e70199ff7c035b7c8722f | |
parent | eb46ee4ca53fd37406ee71cb04edd260a9134622 (diff) |
Fix txsm reading for versions 16 and above
Change-Id: I7f03558e5aa5aa73fdb22f58d29eeb64342c198d
-rw-r--r-- | src/lib/CDRParser.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/CDRParser.cpp b/src/lib/CDRParser.cpp index eb8ab61..1b2b4ab 100644 --- a/src/lib/CDRParser.cpp +++ b/src/lib/CDRParser.cpp @@ -3086,7 +3086,9 @@ void libcdr::CDRParser::readTxsm16(librevenge::RVNGInputStream *input) std::vector<unsigned char> charDescriptions(numChars); for (i=0; i<numChars; ++i) { - charDescriptions[i] = readU64(input); + unsigned tmpCharDescription = 0; + tmpCharDescription = readU64(input) & 0xffffffff; + charDescriptions[i] = (tmpCharDescription >> 16) | (tmpCharDescription & 0x01); } unsigned numBytes = readU32(input); unsigned long numBytesRead = 0; |