Update from GNU gettext 0.15.
authorBruno Haible <bruno@clisp.org>
Sat, 22 Jul 2006 16:54:42 +0000 (16:54 +0000)
committerBruno Haible <bruno@clisp.org>
Sat, 22 Jul 2006 16:54:42 +0000 (16:54 +0000)
lib/ChangeLog
lib/printf-args.c

index 9c59ea5..006ac24 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-05  Bruno Haible  <bruno@clisp.org>
+
+       * printf-args.c (printf_fetchargs): Work around broken definition of
+       wint_t on mingw.
+
 2005-02-12  Bruno Haible  <bruno@clisp.org>
 
        * xallocsa.h: Add extern "C" for C++.
index 615858c..7613456 100644 (file)
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2003, 2005-2006 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -79,7 +79,13 @@ printf_fetchargs (va_list args, arguments *a)
        break;
 #ifdef HAVE_WINT_T
       case TYPE_WIDE_CHAR:
-       ap->a.a_wide_char = va_arg (args, wint_t);
+       /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by
+          default argument promotions", this is not the case in mingw32,
+          where wint_t is 'unsigned short'.  */
+       ap->a.a_wide_char =
+         (sizeof (wint_t) < sizeof (int)
+          ? va_arg (args, int)
+          : va_arg (args, wint_t));
        break;
 #endif
       case TYPE_STRING: