After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625952 - "///" not stripped from brief description when MULTILINE_CPP_IS_BRIEF=YES
"///" not stripped from brief description when MULTILINE_CPP_IS_BRIEF=YES
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.7.1-SVN
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
: 624256 626799 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-08-03 15:46 UTC by John Marshall
Modified: 2010-10-09 08:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description John Marshall 2010-08-03 15:46:37 UTC
For example:

==== Doxyfile ====
MULTILINE_CPP_IS_BRIEF = YES

==== test.h ====
/** @class foo test.h */
/// Foo
/// bar
/** baz */
class foo {
public:
    foo() { }
};

The expected brief description of class foo is "Foo bar" but instead it appears as "Foo /// bar".

This was introduced in svn change 730, when src/scanner.l's docBlock variable was changed from QCString to QGString.

The problem appears on line 5194 of src/scanner.l:

<DocLine>[^\n]*"\n"[ \t]*"//"[/!]       { // continuation of multiline C++-style comment
                                           docBlock+=yytext;
                                           docBlock.resize(docBlock.size() - 3);
                                           yyLineNr++;
                                        }

QGString::size() doesn't mean the same thing as QCString::size().  Using "docBlock.length() - 3" instead would work, or maybe changing the meaning of QGString::size() is better.

Also QGString::resize() removes one character too many.  Consider for example what qtools/qgstring.cpp's resize()'s "m_data[newlen-1]='\0';" does for docBlock.resize(1).
Comment 1 Dimitri van Heesch 2010-08-14 14:11:55 UTC
Hi John,

Thanks for the analysis. You are correct. docBlock.size() should have been docBlock.length() and QGString::resize() should do m_data[newlen]='\0';
Comment 2 Dimitri van Heesch 2010-08-14 14:12:13 UTC
*** Bug 626799 has been marked as a duplicate of this bug. ***
Comment 3 Dimitri van Heesch 2010-08-22 17:43:19 UTC
*** Bug 624256 has been marked as a duplicate of this bug. ***
Comment 4 Dimitri van Heesch 2010-10-09 08:19:29 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.2. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.