2N/A <features.h>, and once <features.h> has been included, it's too late. */
2N/A#ifndef _GNU_SOURCE
2N/A#ifndef VASNPRINTF
2N/A#ifndef IN_LIBINTL
2N/A#ifndef VASNPRINTF
2N/A# include "vasnwprintf.h"
2N/A# include "vasnprintf.h"
2N/A# include <langinfo.h>
2N/A#ifndef VASNPRINTF
2N/A# include "wprintf-parse.h"
2N/A# include "printf-parse.h"
2N/A# include "isnand-nolibm.h"
2N/A# include "isnanl-nolibm.h"
2N/A# include "isnand-nolibm.h"
2N/A# include "printf-frexp.h"
2N/A# include "isnanl-nolibm.h"
2N/A# include "printf-frexpl.h"
2N/A#ifndef VASNPRINTF
2N/A# if defined __MINGW32__
2N/A# if defined __MINGW32__
2N/A# ifndef local_strnlen_defined
2N/A#if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && WIDE_CHAR_VERSION) || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && !WIDE_CHAR_VERSION && DCHAR_IS_TCHAR)) && HAVE_WCHAR_T
2N/A# if HAVE_WCSLEN
2N/A# ifndef local_wcslen_defined
2N/A# if HAVE_WCSNLEN
2N/A# ifndef local_wcsnlen_defined
2N/A#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
2N/A# ifndef decimal_point_char_defined
2N/A goto increment_q;
2N/A goto increment_q;
2N/A extra_zeroes = 0;
2N/A extra_zeroes = (s < n ? s : n);
2N/A s -= extra_zeroes;
2N/A n -= extra_zeroes;
2N/A switch (conversion)
2N/A (unsigned int) (LDBL_MAX_EXP
2N/A (unsigned int) (DBL_MAX_EXP
2N/A# if HAVE_WCHAR_T
2N/A if (has_precision)
2N/A if (has_precision)
2N/A if (!pad_ourselves)
2N/A# if ENABLE_UNISTDIO
2N/A return tmp_length;
2N/A DIRECTIVES d;
2N/A#if HAVE_ALLOCA
2N/A goto out_of_memory_1;
2N/A goto out_of_memory_1;
2N/A goto out_of_memory; \
2N/A goto out_of_memory; \
2N/A case TYPE_COUNT_SCHAR_POINTER:
2N/A case TYPE_COUNT_SHORT_POINTER:
2N/A case TYPE_COUNT_INT_POINTER:
2N/A has_precision = 0;
2N/A case TYPE_U8_STRING:
2N/A if (has_precision)
2N/A characters = 0;
2N/A characters++;
2N/A characters = 0;
2N/A characters++;
2N/A characters = 0;
2N/A# if DCHAR_IS_UINT8_T
2N/A# if DCHAR_IS_TCHAR
2N/A case TYPE_U16_STRING:
2N/A if (has_precision)
2N/A characters = 0;
2N/A characters++;
2N/A characters = 0;
2N/A characters++;
2N/A characters = 0;
2N/A# if DCHAR_IS_TCHAR
2N/A case TYPE_U32_STRING:
2N/A if (has_precision)
2N/A characters = 0;
2N/A characters++;
2N/A characters = 0;
2N/A characters++;
2N/A characters = 0;
2N/A# if DCHAR_IS_TCHAR
2N/A#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T
2N/A has_precision = 0;
2N/A if (has_precision)
2N/A# if HAVE_MBRTOWC
2N/A characters = 0;
2N/A# if HAVE_MBRTOWC
2N/A characters++;
2N/A# if HAVE_MBRTOWC
2N/A characters = 0;
2N/A# if HAVE_MBRTOWC
2N/A characters++;
2N/A characters = 0;
2N/A# if HAVE_MBRTOWC
2N/A# if HAVE_MBRTOWC
2N/A# if HAVE_MBRTOWC
2N/A# if HAVE_MBRTOWC
2N/A# if !DCHAR_IS_TCHAR
2N/A if (has_precision)
2N/A characters = 0;
2N/A# if DCHAR_IS_TCHAR
2N/A characters = 0;
2N/A# if DCHAR_IS_TCHAR
2N/A characters = 0;
2N/A# if !DCHAR_IS_TCHAR
2N/A goto out_of_memory;
2N/A# if ENABLE_UNISTDIO
2N/A w = characters;
2N/A# if DCHAR_IS_TCHAR
2N/A#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
2N/A has_precision = 0;
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A if (has_precision
2N/A *p++ = decimal_point_char ();
2N/A if (has_precision
2N/A *p++ = decimal_point_char ();
2N/A ENSURE_ALLOCATION (n);
2N/A#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
2N/A# if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE)
2N/A has_precision = 0;
2N/A if (!has_precision)
2N/A tmp_length = 0;
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A goto out_of_memory;
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A *p++ = decimal_point_char ();
2N/A ENSURE_ALLOCATION (n);
2N/A#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
2N/A#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
2N/A#if !USE_SNPRINTF
2N/A#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
2N/A has_precision = 0;
2N/A prec_ourselves = 0;
2N/A#if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION)
2N/A#if !USE_SNPRINTF
2N/A goto out_of_memory;
2N/A goto out_of_memory;
2N/A if (!pad_ourselves)
2N/A if (!prec_ourselves)
2N/A case TYPE_LONGLONGINT:
2N/A case TYPE_ULONGLONGINT:
2N/A case TYPE_LONGINT:
2N/A case TYPE_ULONGINT:
2N/A#if HAVE_WINT_T
2N/A case TYPE_WIDE_CHAR:
2N/A#if HAVE_WCHAR_T
2N/A case TYPE_WIDE_STRING:
2N/A case TYPE_LONGDOUBLE:
2N/A#if USE_SNPRINTF
2N/A# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
2N/A <http://msdn2.microsoft.com/en-us/library/ms175782(VS.80).aspx>
2N/A prefix_count = 0;
2N/A#if USE_SNPRINTF
2N/A / TCHARS_PER_DCHAR));
2N/A#if USE_SNPRINTF
2N/A switch (prefix_count) \
2N/A switch (prefix_count) \
2N/A case TYPE_SCHAR:
2N/A case TYPE_UCHAR:
2N/A case TYPE_SHORT:
2N/A case TYPE_USHORT:
2N/A case TYPE_LONGINT:
2N/A case TYPE_ULONGINT:
2N/A case TYPE_LONGLONGINT:
2N/A case TYPE_ULONGLONGINT:
2N/A case TYPE_DOUBLE:
2N/A case TYPE_LONGDOUBLE:
2N/A#if HAVE_WINT_T
2N/A case TYPE_WIDE_CHAR:
2N/A case TYPE_STRING:
2N/A#if HAVE_WCHAR_T
2N/A case TYPE_WIDE_STRING:
2N/A case TYPE_POINTER:
2N/A#if USE_SNPRINTF
2N/A / TCHARS_PER_DCHAR);
2N/A (saved_errno != 0
2N/A#if USE_SNPRINTF
2N/A / TCHARS_PER_DCHAR),
2N/A ENSURE_ALLOCATION (n);
2N/A if (prec_ourselves)
2N/A# if USE_SNPRINTF
2N/A prefix_count = 0;
2N/A# if USE_SNPRINTF
2N/A / TCHARS_PER_DCHAR);
2N/A ENSURE_ALLOCATION (n);
2N/A#if !USE_SNPRINTF
2N/A#if !DCHAR_IS_TCHAR
2N/A# if USE_SNPRINTF
2N/A# if USE_SNPRINTF
2N/A# if USE_SNPRINTF
2N/A ENSURE_ALLOCATION (n);
2N/A#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
2N/A# if ENABLE_UNISTDIO
2N/A# if USE_SNPRINTF
2N/A ENSURE_ALLOCATION (n);
2N/A ENSURE_ALLOCATION (n);
2N/A#if !USE_SNPRINTF
2N/A#if USE_SNPRINTF