changeset 7031:3ea40dc19e43

Update from GNU gettext 0.15.
author Bruno Haible <bruno@clisp.org>
date Sat, 22 Jul 2006 16:54:42 +0000
parents f0e8d2c5efd0
children ef16e4d461fc
files lib/ChangeLog lib/printf-args.c
diffstat 2 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -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++.
--- a/lib/printf-args.c
+++ b/lib/printf-args.c
@@ -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 @@
 	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: