1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-03 17:59:33 +02:00

multiple '}' at end of rtf file processing

This commit is contained in:
Nikolay Pultsin 2012-03-22 23:59:42 +00:00
parent a33e6ef793
commit 3978af83ec

View file

@ -210,7 +210,8 @@ bool RtfReader::parseDocument() {
READ_BINARY_DATA,
READ_HEX_SYMBOL,
READ_KEYWORD,
READ_KEYWORD_PARAMETER
READ_KEYWORD_PARAMETER,
READ_END_OF_FILE
} parserState = READ_NORMAL_DATA;
std::string keyword;
@ -228,6 +229,11 @@ bool RtfReader::parseDocument() {
bool readNextChar = true;
while (ptr != end) {
switch (parserState) {
case READ_END_OF_FILE:
if (*ptr != '}' && !isspace(*ptr)) {
return false;
}
break;
case READ_BINARY_DATA:
// TODO: optimize
processCharData(ptr, 1);
@ -260,7 +266,8 @@ bool RtfReader::parseDocument() {
}
if (myStateStack.empty()) {
return false;
parserState = READ_END_OF_FILE;
break;
}
if (myState.Destination != myStateStack.top().Destination) {