In reading through, I noticed the following:
wxString DocumentationHelper::DoxygenToHTML(const wxString& doc)
{
using namespace HTMLTags;
wxString arguments[5];
wxString &plainText = arguments[0], brief = arguments[1], params = arguments[2],
seeAlso = arguments[3], returns = arguments[4];
[...]
// process nested keywords:
for (size_t i = 0; i < (size_t)(sizeof(arguments)/sizeof(arguments[0])); ++i)
{
arguments[i].Trim(true).Trim(false);
Doxygen::DoxygenParser dox_parser;
int dox_keyword = dox_parser.FindNextKeyword(arguments[i]);
while (dox_keyword < Doxygen::KEYWORDS_COUNT)
{
using namespace Doxygen;
switch (dox_keyword)
{
case B:
{
dox_parser.ReplaceCurrentKeyword(arguments[i], b1);
wxString arg0;
dox_parser.GetArgument(arguments[i], RANGE_WORD, arg0);
arguments[i].insert(dox_parser.GetPosition() + 1, b0);
}
break;
default:
break;
}
dox_keyword = dox_parser.FindNextKeyword(arguments[i]);
}
}// for (i)
[...]
Only
plainText is declared as a reference, so the following loop (the only place where
arguments[] is used) does not appear to do any useful work.
However, I am not sure of the intent of this code, so I do not know what type of bug to even try to look for. Thoughts?