Re: svn commit: r1881476 - /apr/apr/trunk/include/arch/win32/apr_arch_utf8.h

2020-09-08 Thread William A Rowe Jr
On Tue, Sep 8, 2020 at 4:11 AM Ivan Zhakov  wrote:

> On Sat, 5 Sep 2020 at 08:15,  wrote:
>
>> Author: wrowe
>> Date: Sat Sep  5 05:15:52 2020
>> New Revision: 1881476
>>
>> URL: http://svn.apache.org/viewvc?rev=1881476=rev
>>  /**
>> + * @deprecated @see apr_conv_utf8_to_utf16
>> + */
>> +#define apr_conv_utf8_to_ucs2(in, inbytes, out, outwords)
>> apr_conv_utf8_to_utf16(in, inbytes, out, outwords)
>>
> As far as I understand this doesn't fix ABI compatibility: applications
> linked with older APR cannot be used with newer one.
>

You understand correctly.

apr 2.0 has never been released, so trunk is subject to arbitrary changes.
Programs
linked against apr 1.x cannot load libapr-2.so binaries, that release is
ABI-breaking
by design.

Once apr 2.0 has been released, we have a new ABI to follow.

FWIW the ucs2 -> utf16 naming normalization only lives on 2.0 trunk,
and was never
/will never be considered for backport to 1.x..


Re: svn commit: r1881476 - /apr/apr/trunk/include/arch/win32/apr_arch_utf8.h

2020-09-08 Thread Ivan Zhakov
On Sat, 5 Sep 2020 at 08:15,  wrote:

> Author: wrowe
> Date: Sat Sep  5 05:15:52 2020
> New Revision: 1881476
>
> URL: http://svn.apache.org/viewvc?rev=1881476=rev
> Log:
> Restore deprecated function names for httpd and tcnative
>
>  - apr_conv_utf8_to_ucs2 and apr_conv_ucs2_to_utf8 functions are used by
>both httpd and the tomcat tcnative connector
>
>  - if ever exposed as public and platform agnostic, the archaic 'ucs2'
> forms
>should be dropped at that time
>
>
> Modified:
> apr/apr/trunk/include/arch/win32/apr_arch_utf8.h
>
> Modified: apr/apr/trunk/include/arch/win32/apr_arch_utf8.h
> URL:
> http://svn.apache.org/viewvc/apr/apr/trunk/include/arch/win32/apr_arch_utf8.h?rev=1881476=1881475=1881476=diff
>
> ==
> --- apr/apr/trunk/include/arch/win32/apr_arch_utf8.h (original)
> +++ apr/apr/trunk/include/arch/win32/apr_arch_utf8.h Sat Sep  5 05:15:52
> 2020
> @@ -41,6 +41,11 @@ APR_DECLARE(apr_status_t) apr_conv_utf8_
>   apr_size_t *outwords);
>
>  /**
> + * @deprecated @see apr_conv_utf8_to_utf16
> + */
> +#define apr_conv_utf8_to_ucs2(in, inbytes, out, outwords)
> apr_conv_utf8_to_utf16(in, inbytes, out, outwords)
>
As far as I understand this doesn't fix ABI compatibility: applications
linked with older APR cannot be used with newer one.


-- 
Ivan Zhakov