On Tue, Mar 29, 2011 at 7:09 PM, Guenter Knauf <fua...@apache.org> wrote:
> Am 30.03.2011 00:52, schrieb Guenter Knauf:
>>
>> are you really sure this is the right thing? /me doubt ...
>> 1. its in an internal header - if we want to expoert that function then
>> it should be moved to a public header
>> 2. if you look into apr_xml.c you can find:
>> APR_DECLARE(apr_xml_parser *) apr_xml_parser_create(apr_pool_t *pool)
>> {
>> return apr_xml_parser_create_ex(pool, &start_handler, &end_handler,
>> &cdata_handler);
>> }
>>
>> so why should something directly link against apr_xml_parser_create_ex() ?
>
> I dont find any other reference to apr_xml_parser_create_ex() beside the one
> in apr_xml.c; so I guess the linkage error happens because
> apr_xml_parser_create_ex() is wrongly marked for export in the C file, or?

right, apr_xml_expat/libxml had API-style linkage

xml/apr_xml_expat.c:APR_DECLARE(apr_xml_parser *)
apr_xml_parser_create_ex(apr_pool_t *pool,
xml/apr_xml_libxml2.c:APR_DECLARE(apr_xml_parser *)
apr_xml_parser_create_ex(apr_pool_t *pool,

meanwhile, apr_xml_parser_create_ex() certainly *sounds* like an API

niq, is that to be exported eventually?  otherwise, the APR_DECLARE()
can be ripped off and the two implementations be given a less
API-sounding name

Reply via email to