From 0a4b995cdd7735aaf42c423eed2889db5b8617ef Mon Sep 17 00:00:00 2001 From: albert-github Date: Wed, 12 Sep 2018 18:41:33 +0200 Subject: 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. --- src/definition.cpp | 2 +- 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::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 << " " << endl; } } - if (l <= maxLevel && inLi[nextLevel]) t << " " << endl; if (nextLevel <= maxLevel) { + if (inLi[nextLevel]) t << " " << endl; QCString titleDoc = convertToXML(si->title); t << " " << endl; t << " " << (si->title.isEmpty()?si->label:titleDoc) << "" << endl; t << " " << convertToXML(pageName) << "_1" << convertToXML(si -> label) << "" << endl; + inLi[nextLevel]=TRUE; + level = nextLevel; } - inLi[nextLevel]=TRUE; - level = nextLevel; } } while (level>1 && level <= maxLevel) -- cgit v0.12