[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] vasnprintf: Don't use %n on android
From: |
Tim Rühsen |
Subject: |
Re: [PATCH] vasnprintf: Don't use %n on android |
Date: |
Wed, 23 Jan 2019 19:38:34 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 23.01.19 01:25, Bruno Haible wrote:
> Hi Tim and Hugo,
>
>>> I also don't see much here (Debian unstable):
>>>
>>> $ grep -A1 -i 'checking.*printf' config.log
>>> configure:6305: checking for vasnprintf
>>> configure:6305: result: no
>>> configure:6305: checking for snprintf
>>> configure:6305: result: yes
>>> --
>>> configure:8450: checking whether snprintf returns a byte count as in C99
>>> configure:8548: result: yes
>>> configure:8559: checking for snprintf
>>> configure:8559: result: yes
>>> --
>>> configure:8568: checking whether _snprintf is declared
>>> configure:8568: result: no
>>>
>>> What does that grep look for you ?
>>
>> $ grep -A1 'checking .*printf' config.log
>> configure:6326: checking for vasnprintf
>> configure:6326: gcc -o conftest -g -O2 conftest.c >&5
>> --
>> configure:6326: checking for snprintf
>> configure:6326: gcc -o conftest -g -O2 conftest.c >&5
>> --
>> configure:8471: checking whether snprintf returns a byte count as in C99
>> configure:8558: gcc -o conftest -g -O2 conftest.c >&5
>> --
>> configure:8580: checking for snprintf
>> configure:8580: result: yes
>> --
>> configure:8589: checking whether _snprintf is declared
>> configure:8589: gcc -c -g -O2 conftest.c >&5
>
> I did these steps:
> 1) Create a testdir
> ./gnulib-tool --create-testdir --dir=../testdir-printf-posix
> --single-configure \
> dprintf-posix fprintf-posix printf-posix snprintf-posix \
> sprintf-posix vasnprintf-posix vasprintf-posix
> vdprintf-posix \
> vfprintf-posix vprintf-posix vsnprintf-posix vsprintf-posix
> 2) Tarred the resulting directory
> 3) Transfered it to the device (Android 4.3 with 'Terminal IDE' app in my
> case),
> 4) Unpacked it there,
> 5) configured it,
> 6) Copy&pasted the configure output.
>
> The configure output contains the lines
>
> checking whether printf supports size specifiers as in C99... yes
> checking whether printf supports 'long double' arguments... yes
> checking whether printf supports infinite 'double' arguments... no
> checking whether printf supports infinite 'long double' arguments... no
> checking whether printf supports the 'a' and 'A' directives... no
> checking whether printf supports the 'F' directive... no
> checking whether printf supports the 'n' directive... no
> checking whether printf supports the 'ls' directive... no
> checking whether printf supports POSIX/XSI format strings with positions...
> yes
> checking whether printf supports the grouping flag... no
> checking whether printf supports the left-adjust flag correctly... yes
> checking whether printf supports the zero flag correctly... no
> checking whether printf supports large precisions... yes
> checking whether printf survives out-of-memory conditions... no
> checking for snprintf... yes
> checking whether snprintf truncates the result as in C99... yes
> checking whether snprintf returns a byte count as in C99... yes
> checking whether snprintf fully supports the 'n' directive... no
> checking whether snprintf respects a size of 1... yes
> checking whether vsnprintf respects a zero size as in C99... yes
>
> With this, I am in the position to update the results in printf.m4, and
> even add cross-compilation guesses.
>
> Since snprintf is behaving well enough, we can disable the use of %n,
> like you suggested.
>
> Done through the attached patches.
>
> Bruno
Thanks you, Bruno and Hugo.
Already committed it successfully into GnuTLS :-)
Regards, Tim
signature.asc
Description: OpenPGP digital signature