mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-25 19:52:10 +01:00
glib enables -Werror=format-nonliteral by default which is triggered by the embedded gnulib (in vasnprintf.c). Disable that warning for gnulib alone. The gnulib code is there to handle user provided format strings, so the warning doesn't add anything anyway. This fixes the build under MinGW. https://bugzilla.gnome.org/show_bug.cgi?id=793729
The files asnprintf.c printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h are taken from the vasnprintf module of the GNUlib package, which can be found at: http://www.gnu.org/software/gnulib/ All files have been modified to include g-gnulib.h. vasnprintf.c has also been modified to include support for long long printing if the system printf doesn't. This code is protected by #ifndef HAVE_LONG_LONG_FORMAT. Code has been added to printf-args.[ch], printf-parse.c and vasnprintf.c to support printing of __int64 values with the I64 format modifier. This is protected by #ifdef HAVE_INT64_AND_I64. The files printf.h printf.c g-gnulib.h have been written by me. printf.[hc] contain implementations of the remaining functions in the printf family based on vasnprintf. g-gnulib.h is included by all source files in order to move all exported functions to the _g_gnulib namespace, replace malloc by g_malloc and make sure that snprintf is only used if it implements C99 return value semantics. Matthias Clasen November 1, 2003