Web lists-archives.com

Re: g_strdup_printf fails with VS2015 - snprintf doesn't support %n?




On 11.10.2015 7:00, Arnavion wrote:
> Hi Fan,
> 
> In your commit 53d487e31bc41cca9bca147e02e81b69e404fe07 to glib you
> enabled glib to use VS2015's snprintf. Did you confirm it works?
> 
> I'm updating our gtk-win32 repo to use glib 2.46.0 (from 2.44.1) and
> ATK fails to build - it runs glib-genmarshal as part of build when
> calling g_strdup_printf. I narrowed it down to
> glib/glib/gnulib/vasnprintf.c 's vasnprintf() function at the place
> where it effectively calls
> 
>     snprintf("%s%n", 12, "atkmarshal.list", &count);
> 
> This aborts with exit code 0xc0000417 (invalid parameters to a CRT function).
> 
> The Windows printf family of functions has historically not supported
> %n (see http://blogs.msdn.com/b/michael_howard/archive/2006/09/28/775780.aspx
> ) so that is probably the reason.
> 
> I see code below that call that tries to see if snprintf failed to use
> %n and recover from it, but this of course doesn't work when the
> implementation has already aborted inside snprintf.

This is gnulib ...print...() implementation. I would suggest asking gnulib
developers (maybe this is already fixed upstream, in which case glib should
pull newer gnulib source).

-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org

Attachment: 0x922360B0.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-devel-list