summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2020-02-04 11:52:20 +0100
committerFridrich Štrba <fridrich.strba@bluewin.ch>2020-02-04 11:52:20 +0100
commit206178e5e978e4194cdfe42560aef3cd14088bcf (patch)
tree50168c6db08146a0e77e70199ff7c035b7c8722f
parenteb46ee4ca53fd37406ee71cb04edd260a9134622 (diff)
Fix txsm reading for versions 16 and above
Change-Id: I7f03558e5aa5aa73fdb22f58d29eeb64342c198d
-rw-r--r--src/lib/CDRParser.cpp4
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;