summaryrefslogtreecommitdiff
path: root/gl/printf-args.c
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2006-07-28 18:29:35 +0000
committerSimon Josefsson <simon@josefsson.org>2006-07-28 18:29:35 +0000
commit35dc31d98a8bcf33050889394c03b802e8980bf5 (patch)
treefc629e2640790920e887aed12e1882dbff431bb7 /gl/printf-args.c
parent560681a14eb3fd1064a498651f9192f4e1d04ad7 (diff)
downloadgnutls-35dc31d98a8bcf33050889394c03b802e8980bf5.tar.gz
Update.
Diffstat (limited to 'gl/printf-args.c')
-rw-r--r--gl/printf-args.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gl/printf-args.c b/gl/printf-args.c
index 67abdc3f81..96b7996abc 100644
--- a/gl/printf-args.c
+++ b/gl/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 Lesser 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: