[Doxygen-develop] Found a fix for bug 356399
Brought to you by:
dimitri
From: Maurice E. <mel...@fr...> - 2007-10-27 01:23:42
|
Hi All, Hi Dimitri, I'm completely new to Doxygen development but since I had a couple of =20= problems on my own doxygen-based documentation build system, I found =20 at least an answer for one ! I encountered bug 356399 (http://bugzilla.gnome.org/show_activity.cgi?=20= id=3D356399) and traced it down on my MacBook. Here was the kind of =20 message I had: path/to/my/tagfile.tag:63: Duplicate anchor \240\241\225=01 = found It took me a couple of hours to setup a Xcode project around doxygen =20 source code (if anybody is interested ?) so that I can reproduce =20 exactly my own documentation build system runtime constraints =20 (doxygen being part of a whole), therefore I did not spend too much =20 time to try to reduce the problem. Anyway... this bug is due to the fact that va_args is stacked twice, =20 once in TagFileParser::warn, then again in ::warn (in message.cpp). =20 I've found a quick patch by creating 2 overloaded prototypes for =20 TagFileParser::warn, corresponding to their current use. Another solution would be to make the do_warn routine available =20 outside of message.cpp. Here is my patch: Index: src/tagreader.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- src/tagreader.cpp (revision 590) +++ src/tagreader.cpp (working copy) @@ -237,14 +237,16 @@ m_inputFileName =3D fileName; } - void warn(const char *fmt,...) + void warn(const char *fmt) { - va_list args; - va_start(args, fmt); - ::warn(m_inputFileName,m_locator->lineNumber(),fmt,args); - va_end(args); + ::warn(m_inputFileName,m_locator->lineNumber(),fmt); } + void warn(const char *fmt, const char * s) + { + ::warn(m_inputFileName,m_locator->lineNumber(),fmt,s); + } + void startCompound( const QXmlAttributes& attrib ) { m_curString =3D ""; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D My 2 cents, hope this helps ! It helped me as well, since I found that my error was only caused by =20 a duplicate tag file in my TAGFILES list ;-/ I'm still in the process of registering for Bugzilla access so I did =20 not submit my comments/resolution there yet. Best regards, --=20 Maurice Elallouf |