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:
parent
a33e6ef793
commit
3978af83ec
1 changed files with 9 additions and 2 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue