William A. Rowe, Jr. wrote:
At 02:13 AM 6/28/2002, Cliff Woolley wrote:

[...]
First, why is apr_table_do APR_DECLARE_NONSTD()'d in the header file, but
APR_DECLARE()'d in the .c file?  I'm guessing the _NONSTD() is the right
one, but I'm still a bit hazy on these things.


That is a bug, AFAICT. It should be picked up by Win32 unless we neglected
to include the relevant declaration header when we hit the function's code.
Since it didn't, that means MSVC had overridden our preference since our
preference couldn't be honored. Unfortunately, as is their way, they never
saw fit to _announce_ this with an emit. It has been _NONSTD() all this time.


The do processor fn's themselves must be exported with APR_DECLARE_NONSTD(),
and then _only_ if they need to be an exported entry point (e.g. 99% of the time
the process fn is simply a static fn in the source file that declares it.)

We really ought to have a better name than NONSTD(), coz I can't remember precisely what it means, and I invented it! However, ISTR its required if you have ... in the args?


Cheers,

Ben.

--
http://www.apache-ssl.org/ben.html       http://www.thebunker.net/

"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff



Reply via email to