diff options
author | albert-github <albert.tests@gmail.com> | 2018-09-12 16:41:33 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2018-09-12 16:41:33 (GMT) |
commit | 0a4b995cdd7735aaf42c423eed2889db5b8617ef (patch) | |
tree | eccba7d2c0df00308839ad73cfc06d3afee4c5fd | |
parent | aca45fd514cadc56ac277bd54f49604708ebbb5d (diff) | |
download | Doxygen-0a4b995cdd7735aaf42c423eed2889db5b8617ef.zip Doxygen-0a4b995cdd7735aaf42c423eed2889db5b8617ef.tar.gz Doxygen-0a4b995cdd7735aaf42c423eed2889db5b8617ef.tar.bz2 |
Fixing problem with possible not initialized variable (endless loop in VS 2017 debug)
The not initialized variable `l` caused and endless loop in the VS2017 debug version, variable should not have been used.
-rw-r--r-- | src/definition.cpp | 2 | ||||
-rw-r--r-- | src/xmlgen.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/definition.cpp b/src/definition.cpp index cbfad94..66387bc 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -1633,7 +1633,7 @@ void Definition::writeToc(OutputList &ol, const LocalToc &localToc) int level=1,l; char cs[2]; cs[1]='\0'; - bool inLi[5]={ FALSE, FALSE, FALSE, FALSE }; + bool inLi[5]={ FALSE, FALSE, FALSE, FALSE, FALSE }; for (li.toFirst();(si=li.current());++li) { if (si->type==SectionInfo::Section || diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index e68c454..be866a2 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -1845,7 +1845,7 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) SDict<SectionInfo>::Iterator li(*sectionDict); SectionInfo *si; int level=1,l; - bool inLi[5]={ FALSE, FALSE, FALSE, FALSE }; + bool inLi[5]={ FALSE, FALSE, FALSE, FALSE, FALSE }; int maxLevel = pd->localToc().xmlLevel(); for (li.toFirst();(si=li.current());++li) { @@ -1872,16 +1872,16 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) if (l <= maxLevel) t << " </tableofcontents>" << endl; } } - if (l <= maxLevel && inLi[nextLevel]) t << " </tocsect>" << endl; if (nextLevel <= maxLevel) { + if (inLi[nextLevel]) t << " </tocsect>" << endl; QCString titleDoc = convertToXML(si->title); t << " <tocsect>" << endl; t << " <name>" << (si->title.isEmpty()?si->label:titleDoc) << "</name>" << endl; t << " <reference>" << convertToXML(pageName) << "_1" << convertToXML(si -> label) << "</reference>" << endl; + inLi[nextLevel]=TRUE; + level = nextLevel; } - inLi[nextLevel]=TRUE; - level = nextLevel; } } while (level>1 && level <= maxLevel) |