Re: RE: PHP and aggregated Objects

Dimitri van Heesch <dimitri <at> stack.nl>
2005-10-01 15:26:02 GMT

On Tue, Sep 27, 2005 at 08:17:50AM +0200, S??nke Ruempler wrote:
> Hi,
>
> Marek Lewczuk <mailto:marek <at> lewczuk.com> wrote on Monday, September 26, 2005 1:51 PM:
>
> > As you see Doxygen will generate documentation for $someVar, however
> > you cannot put " <at> var" tag. It seems like a bug, because when you put
> > " <at> var $someVar" doxygen looks for TestClass::someVar member.
> >
> > ML
>
> Yes, that's my experiences, too. May any developer please check this?
You typically should not use <at> var to try to fool doxygen. In fact you should
not use it at all if the comment block is in front of the variable definition.
If you still think there is a bug (which is certainly possible for PHP) then
please report it using the bug tracker. First describe the bug and then
attach a self-contained example so I can reproduce the problem.
Regards,
Dimitri
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl

Macroized Functions

Duane Ellis <duane_ellis <at> franklin.com>
2005-10-13 16:49:46 GMT

We are using doxygen to document some C code for a bios.
Hundreds of functions are defined via macros. For example:
/** Set the platform RTC Clock to specified time (TZ=GMT)
* \param p_date - Pointer to the date
* \return TRUE success, FALSE error (platform lacks RTC)
*/
TRAPFUNC( BOOL, biosRtcSetGMT, ( RTC_DATE *p_data ) );
The problem is the "TRAPFUNC" macro. The "trapfunc" macro creates multiple
instances of the function name - addorned with attributes and does ohter
things.
(the same header file is compiled in multiple ways) {It simplifies many
many things
We really don't want to change that.}
I've tried:
#ifdef DOXYGEN
#define TRAPCALL( X, Y, Z ) X Y Z
#endif
but that does not help, doxygen does not expand #defines.
Doing #ifdef DOXYGEN blocks around hundreds of API function is *NOT* a
good idea.
Any suggestions?

RE: Macroized Functions

Hi Duane,
I made a patch to allow \def to be used to force documentation of a define,
even if the #define is not found in the source code. It was for a similar
problem that I made this mod.
I reported it as a bug in Bugzilla, and the patch for 1.4.3 is attached to
that. See "Bug 310895: Cannot document non-existant defines with \def".
Maybe this could be a help to you?
Regards,
Mike
> -----Original Message-----
> From: doxygen-develop-admin <at> lists.sourceforge.net [mailto:doxygen-develop-
> admin <at> lists.sourceforge.net] On Behalf Of Duane Ellis
> Sent: 13 October 2005 17:50
> To: doxygen-develop <at> lists.sourceforge.net
> Subject: [Doxygen-develop] Macroized Functions
>
> We are using doxygen to document some C code for a bios.
>
> Hundreds of functions are defined via macros. For example:
>
> /** Set the platform RTC Clock to specified time (TZ=GMT)
> * \param p_date - Pointer to the date
> * \return TRUE success, FALSE error (platform lacks RTC)
> */
> TRAPFUNC( BOOL, biosRtcSetGMT, ( RTC_DATE *p_data ) );

Re: Re: Macroized Functions

Duane Ellis <duane_ellis <at> franklin.com>
2005-10-18 18:07:00 GMT

> Did you check the PREDEFINED and EXPAND_AS_DEFINED config options?
> I think something like 'PREDEFINED = "TRAPFUNC(a,b,c)=a b c"' would do
> the trick.
There are so many options --- I did not see this. I just tried it... Sadly
- it does not do the trick.
Such is life.... we plod on.
-Duane.
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl

Wikipedia entry problems

Enno Bartels <ennobartels <at> t-online.de>
2005-10-21 09:38:35 GMT

Hi
I just discovered that the German doxygen article about the
version of Doxygen has been deleted without any comment
and it was deleted without the process of "proposing to be deleted"
http://de.wikipedia.org/wiki/Spezial:Undelete/Doxygen_--_Versionsliste
Also for the doxygen page itself in the german wikipedia
the article is proposed to be deleted.
http://de.wikipedia.org/wiki/Doxygen
To not lose the version informations that were discribed in that
article I did write them down in a text file
"version_history.txt" that is attachted to this email.
So it would be nice if this file could be added to the next
version of doxygen in the sources.
Thanks for listening
Enno

Re: Wikipedia entry problems

Martin Fuchs <martin-fuchs <at> gmx.net>
2005-10-21 10:53:45 GMT

Hello,
> Also for the doxygen page itself in the german wikipedia
> the article is proposed to be deleted.
> http://de.wikipedia.org/wiki/Doxygen
I added a comment on the Wiki discussion page with my veto
against the deletion:
http://de.wikipedia.org/wiki/Diskussion:Doxygen
I think if you (or some one else) extends the article, it won't be
deleted. Currently it's a bit short.
However the complete version story is a thing, which IMHO should not
necessary be kept in the Wikipdedia article. The Doxygen web site
is a better place for this list.
Regards,
Martin
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl

Memory underrun in util.cpp:5584

Hi there,
I took the doxygen-1.4.4-20050815.tar.gz CVS tarball and ran it under
valgrind. I found a byte being accessed before the start of a buffer:
// search for trailing empty lines
int b=l-1,bi=-1;
p=s.data()+b;
while (b>=0)
{
c=*--p; <------ Can read before s.data
if (c==' ' || c=='\t' || c=='\r') b--;
else if (c=='\n') bi=b,b--;
else break;
}
I think the problem is that --p occurs before the dereference, and so the
code would be better written as:
while (b>=0)
{
c=*p;
p--;
if (c==' ' || c=='\t' || c=='\r') b--;
This avoids p[-1] being accessed if something like "\n" is in the buffer.
I've not put it into Bugzilla, but let me know if you would prefer it filed
there instead.