[PATCH 3/9] [Kernel32 & MLang]: SISOLANGNAME

Eric Pouech eric.pouech at wanadoo.fr
Wed Nov 8 14:46:54 CST 2006


- changed encoding for Divehi (which has a 639-1 enconding)
- fixed Mlang to handle correctly LOCALE_SISO639LANGNAME which
  are not encoded in 639-1 but in 639-2
(valgrind spotted some errors which lead to this fix)

A+
---

 dlls/kernel32/nls/div.nls |    2 +-
 dlls/mlang/mlang.c        |   10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/kernel32/nls/div.nls b/dlls/kernel32/nls/div.nls
index e081c48..43eb7d0 100644
--- a/dlls/kernel32/nls/div.nls
+++ b/dlls/kernel32/nls/div.nls
@@ -101,7 +101,7 @@ STRINGTABLE LANGUAGE LANG_DIVEHI, SUBLAN
   LOCALE_SGROUPING L"3;0"
   LOCALE_SINTLSYMBOL L"MVR"
   LOCALE_SISO3166CTRYNAME L"MV"
-  LOCALE_SISO639LANGNAME L"div"
+  LOCALE_SISO639LANGNAME L"dv"
   LOCALE_SLANGUAGE L"Divehi"
   LOCALE_SLIST L"\x060c"
   LOCALE_SLONGDATE L"dd MMMM yyyy"
diff --git a/dlls/mlang/mlang.c b/dlls/mlang/mlang.c
index 8bdcc27..d362979 100644
--- a/dlls/mlang/mlang.c
+++ b/dlls/mlang/mlang.c
@@ -1733,9 +1733,13 @@ static BOOL CALLBACK enum_locales_proc(L
     n = GetLocaleInfoW(info->lcid, LOCALE_SISO639LANGNAME, info->wszRfc1766, MAX_RFC1766_NAME);
     if (n && n < MAX_RFC1766_NAME)
     {
-        info->wszRfc1766[n - 1] = '-';
-        GetLocaleInfoW(info->lcid, LOCALE_SISO3166CTRYNAME, info->wszRfc1766 + n, MAX_RFC1766_NAME - n);
-        LCMapStringW(LOCALE_USER_DEFAULT, LCMAP_LOWERCASE, info->wszRfc1766 + n, -1, info->wszRfc1766 + n, MAX_RFC1766_NAME - n);
+        if (GetLocaleInfoW(info->lcid, LOCALE_SISO3166CTRYNAME,
+                           info->wszRfc1766 + n, MAX_RFC1766_NAME - n))
+        {
+            info->wszRfc1766[n - 1] = '-';
+            LCMapStringW(LOCALE_USER_DEFAULT, LCMAP_LOWERCASE, info->wszRfc1766 + n,
+                         -1, info->wszRfc1766 + n, MAX_RFC1766_NAME - n);
+        }
     }
     info->wszLocaleName[0] = 0;
     GetLocaleInfoW(info->lcid, LOCALE_SLANGUAGE, info->wszLocaleName, MAX_LOCALE_NAME);



More information about the wine-patches mailing list