bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add missing include of windows.h in nl_langinfo.c


From: Eli Zaretskii
Subject: Re: [PATCH] Add missing include of windows.h in nl_langinfo.c
Date: Thu, 10 Jul 2014 18:21:00 +0300

> Date: Wed, 09 Jul 2014 16:02:31 -0600
> From: Eric Blake <address@hidden>
> 
> On 07/09/2014 05:13 AM, Pavel Hrdina wrote:
> > The commit fcfce839 improved localization of names for week days
> > and months, but the author forget to include windows.h in order
> > to use 'GetACP ()'. Without this header file build using mingw
> > fails with this error message:
> > 
> > ../../../gnulib/lib/nl_langinfo.c: In function 'ctype_codeset':
> > ../../../gnulib/lib/nl_langinfo.c:76:5: warning: implicit declaration of
> > function 'GetACP' [-Wimplicit-function-declaration]
> >      sprintf (buf + 2, "%u", GetACP ());
> >      ^
> > In file included from
> > /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:73:0,
> >                  from ../../../gnulib/lib/nl_langinfo.c:149:
> > /usr/i686-w64-mingw32/sys-root/mingw/include/winnls.h: At top level:
> > /usr/i686-w64-mingw32/sys-root/mingw/include/winnls.h:653:64: error:
> > conflicting types for 'GetACP'
> >    WINBASEAPI UINT WINAPI GetACP(void);
> >                                                                 ^
> > ../../../gnulib/lib/nl_langinfo.c:76:29: note: previous implicit
> > declaration of 'GetACP' was here
> >      sprintf (buf + 2, "%u", GetACP ());
> >                              ^
> > 
> > Signed-off-by: Pavel Hrdina <address@hidden>
> > ---
> >  lib/nl_langinfo.c | 1 +
> >  1 file changed, 1 insertion(+)
> 
> ACK, fix pushed.

I believe this commit caused redundant inclusion of header files.  I
suggest the simple follow-up patch below.

nl_langinfo: Fix last change.

Don't include stdio.h and windows.h twice on MS-Windows.  Also, define
WIN32_LEAN_AND_MEAN before including windows.h.

diff --git a/lib/nl_langinfo.c b/lib/nl_langinfo.c
index b5f2000..1ab551d 100644
--- a/lib/nl_langinfo.c
+++ b/lib/nl_langinfo.c
@@ -23,6 +23,7 @@
 #include <locale.h>
 #include <string.h>
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
 # include <stdio.h>
 #endif
@@ -140,22 +141,9 @@ rpl_nl_langinfo (nl_item item)
 
 #else
 
-/* Provide nl_langinfo from scratch.  */
-
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-/* Native Windows platforms.  */
-
-#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
-#  include <windows.h>
-
-#  include <stdio.h>
-
-# else
-
-/* An old Unix platform without locales, such as Linux libc5 or BeOS.  */
-
-# endif
+/* Provide nl_langinfo from scratch, either for native MS-Windows, or
+   for old Unix platforms without locales, such as Linux libc5 or
+   BeOS.  */
 
 # include <time.h>
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]