diff --git a/apps/reader/tex_parser.cpp b/apps/reader/tex_parser.cpp index d36eee6ff..24da80e0a 100644 --- a/apps/reader/tex_parser.cpp +++ b/apps/reader/tex_parser.cpp @@ -98,16 +98,22 @@ Layout TexParser::popCommand() { return popFracCommand(); } } - else if (strcmp(k_sqrtCommand, m_text, strlen(k_fracCommand)) == 0) { - m_text += strlen(k_fracCommand); + else if (strncmp(k_sqrtCommand, m_text, strlen(k_sqrtCommand)) == 0) { + m_text += strlen(k_sqrtCommand); if (*m_text == ' ' || *m_text == '{' || *m_text == '[') { return popSqrtCommand(); } } - + m_hasError = true return popFracCommand(); } +Layout TexParser::popFracCommand() { + Layout firstBlock = popBlock(); + Layout secondBlock = popBlock(); + return FractionLayout::Builder(firstBlock, secondBlock); +} + Layout TexParser::popSqrtCommand() { while (*m_text == ' ') { m_text ++; @@ -121,10 +127,5 @@ Layout TexParser::popSqrtCommand() { } } -Layout TexParser::popFracCommand() { - Layout firstBlock = popBlock(); - Layout secondBlock = popBlock(); - return FractionLayout::Builder(firstBlock, secondBlock); -} }