From 2bcf196332084067c3d2409fa07992a6b833473d Mon Sep 17 00:00:00 2001 From: Artur Kink Date: Sun, 7 Aug 2016 21:32:01 -0400 Subject: Parse more than 1 size indiction in defaultHandleTitleAndSize --- src/docparser.cpp | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/docparser.cpp b/src/docparser.cpp index 5dfa7b3..f06f6cd 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -1264,9 +1264,6 @@ static void defaultHandleTitleAndSize(const int cmd, DocNode *parent, QListname=="width=" || g_token->name=="height=")) { // special case: no title, but we do have a size indicator - doctokenizerYYsetStateTitleAttrValue(); - // strip = - g_token->name = g_token->name.left(g_token->name.length()-1); break; } if (!defaultHandleToken(parent,tok,children)) @@ -1293,21 +1290,32 @@ static void defaultHandleTitleAndSize(const int cmd, DocNode *parent, QListname=="width") + if(tok == TK_WORD) { - width = g_token->chars; - } - else if (g_token->name=="height") - { - height = g_token->chars; - } - else - { - warn_doc_error(g_fileName,doctokenizerYYlineno,"Unknown option '%s' after \\%s command, expected 'width' or 'height'", - qPrint(g_token->name), Mappers::cmdMapper->find(cmd).data()); + if (g_token->name=="width=" || g_token->name=="height=") + { + doctokenizerYYsetStateTitleAttrValue(); + g_token->name = g_token->name.left(g_token->name.length()-1); + } + + if (g_token->name=="width") + { + width = g_token->chars; + } + else if (g_token->name=="height") + { + height = g_token->chars; + } + else + { + warn_doc_error(g_fileName,doctokenizerYYlineno,"Unknown option '%s' after \\%s command, expected 'width' or 'height'", + qPrint(g_token->name), Mappers::cmdMapper->find(cmd).data()); + break; + } } + tok=doctokenizerYYlex(); } doctokenizerYYsetStatePara(); -- cgit v0.12