httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Endecott <>
Subject AP_INIT_TAKE1 in 2.2 and C++
Date Thu, 08 Dec 2005 21:12:07 GMT
Dear All,

I'm the author of Anyterm (, which includes an Apache 
module.  Although I haven't yet tried to compile it for Apache 2.2 some 
of my users have, and they're having problems.  See  It looks as if 
the definition of AP_INIT_TAKE1 has changed at some point, and now looks 
like this:

# define AP_INIT_TAKE1(directive, func, mconfig, where, help) \
     { directive, { .take1=func }, mconfig, where, TAKE1, help }

That "{.take1=func}" syntax was a new one on me.  A quick test suggests 
that it is legal in C but not in C++, and I compile my module with g++.

I can see that this definition is selected by a #if, with a regular 
definition without the whacky syntax also available.  So, would it be OK 
to have this alternative more conventional declaration when __cplusplus 
is defined?  Is there something I can do before #including the Apache 
headers to make it all work?



p.s. Either I'm being dense, or there isn't a Doxygenated source tree 
linked anywhere from the httpd web pages. links to one 
for apr only.  Did there used to be, or am I imagining it?

View raw message