bug-gnulib
[Top][All Lists]
Advanced

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

Re: mingw bug and localename


From: Bruno Haible
Subject: Re: mingw bug and localename
Date: Wed, 28 May 2008 00:57:26 +0200
User-agent: KMail/1.5.4

Hi Jose,

> /* Mingw headers don't have latest language and sublanguage codes.  */
> ...
> # ifndef SUBLANG_TIBETAN_PRC
> # define SUBLANG_TIBETAN_PRC 0x01
> # endif
> # ifndef SUBLANG_TIBETAN_BHUTAN
> # define SUBLANG_TIBETAN_BHUTAN 0x02
> ...
> #endif 
> 
> Then these constants are used in several switch statements:
> 
> switch (sub)
>   {
>   case SUBLANG_TIBETAN_PRC:
>     /* Most Tibetans would not like "bo_CN".  But Tibet does not yet
>        have a country code of its own.  */
>     return "bo";
>   case SUBLANG_TIBETAN_BHUTAN: return "bo_BT";
>   }
> 
> When compiling libgnupdf with mingw I got the following error from
> gcc: 
> 
> i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I. -I../src -g -O2 -MT localename.lo 
> -MD -MP -MF .deps/localename.Tpo -c localename.c  -DDLL_EXPORT -DPIC -o 
> .libs/localename.o
> localename.c: In function 'gl_locale_name_from_win32_LANGID':
> localename.c:1496: error: duplicate case value
> localename.c:1492: error: previously used here
> 
> I looked into the mingw-runtime header files and I found the following
> in winnt.h:
> 
> #define SUBLANG_TIBETAN_PRC   0x01
> #define SUBLANG_TIBETAN_BHUTAN        0x01
> 
> So the fail is explained: both sublanguage codes has the same
> value.

Thanks for reporting it. I don't know how long time the mingw guys will
need to fix their problem, so I'm applying this:


2008-05-27  Bruno Haible  <address@hidden>

        * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
        current mingw.
        Reported by Jose E. Marchesi <address@hidden>.

*** lib/localename.c.orig       2008-05-28 00:55:04.000000000 +0200
--- lib/localename.c    2008-05-28 00:54:05.000000000 +0200
***************
*** 731,739 ****
  # ifndef SUBLANG_TIBETAN_PRC
  # define SUBLANG_TIBETAN_PRC 0x01
  # endif
! # ifndef SUBLANG_TIBETAN_BHUTAN
  # define SUBLANG_TIBETAN_BHUTAN 0x02
- # endif
  # ifndef SUBLANG_TIGRINYA_ETHIOPIA
  # define SUBLANG_TIGRINYA_ETHIOPIA 0x01
  # endif
--- 731,738 ----
  # ifndef SUBLANG_TIBETAN_PRC
  # define SUBLANG_TIBETAN_PRC 0x01
  # endif
! # undef SUBLANG_TIBETAN_BHUTAN
  # define SUBLANG_TIBETAN_BHUTAN 0x02
  # ifndef SUBLANG_TIGRINYA_ETHIOPIA
  # define SUBLANG_TIGRINYA_ETHIOPIA 0x01
  # endif





reply via email to

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