Assign correct codes to QLocale::AnyCountry and AnyScript
authorKonstantin Ritt <ritt.ks@gmail.com>
Wed, 14 Nov 2012 16:09:02 +0000 (18:09 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 15 Nov 2012 12:55:00 +0000 (13:55 +0100)
as their meaning, in fact, is unknown (or default) country/script.

Change-Id: Id75a70d4b33c2092de414f3ac357f6bcb627ba47
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/corelib/tools/qlocale_data_p.h
util/local_database/cldr2qlocalexml.py
util/local_database/enumdata.py

index f0d92b7..4d4cb96 100644 (file)
@@ -5091,7 +5091,7 @@ static const unsigned char language_code_list[] =
 ;
 
 static const unsigned char script_code_list[] =
-"\0\0\0\0" // AnyScript
+"Zzzz" // AnyScript
 "Arab" // Arabic
 "Cyrl" // Cyrillic
 "Dsrt" // Deseret
@@ -5128,7 +5128,7 @@ static const unsigned char script_code_list[] =
 "Yiii" // Yi
 ;
 static const unsigned char country_code_list[] =
-"  \0" // AnyCountry
+"ZZ\0" // AnyCountry
 "AF\0" // Afghanistan
 "AL\0" // Albania
 "DZ\0" // Algeria
index e5accec..2ad41cb 100755 (executable)
@@ -135,26 +135,22 @@ def generateLocaleInfo(path):
         return {}
 
     language_id = enumdata.languageCodeToId(language_code)
-    if language_id == -1:
+    if language_id <= 0:
         sys.stderr.write("unknown language code \"" + language_code + "\"\n")
         return {}
     language = enumdata.language_list[language_id][0]
 
     script_id = enumdata.scriptCodeToId(script_code)
-    if script_code == -1:
+    if script_id == -1:
         sys.stderr.write("unknown script code \"" + script_code + "\"\n")
         return {}
-    script = "AnyScript"
-    if script_id != -1:
-        script = enumdata.script_list[script_id][0]
+    script = enumdata.script_list[script_id][0]
 
     country_id = enumdata.countryCodeToId(country_code)
-    country = ""
-    if country_id != -1:
-        country = enumdata.country_list[country_id][0]
-    if country == "":
+    if country_id <= 0:
         sys.stderr.write("unknown country code \"" + country_code + "\"\n")
         return {}
+    country = enumdata.country_list[country_id][0]
 
     # So we say we accept only those values that have "contributed" or
     # "approved" resolution. see http://www.unicode.org/cldr/process.html
index 326eaab..1c92aec 100644 (file)
@@ -264,7 +264,7 @@ language_list = {
 }
 
 country_list = {
-    0 : [ "AnyCountry",                                 "  "  ],
+    0 : [ "AnyCountry",                                 "ZZ"  ],
     1 : [ "Afghanistan",                                "AF"  ],
     2 : [ "Albania",                                    "AL"  ],
     3 : [ "Algeria",                                    "DZ"  ],
@@ -514,7 +514,7 @@ country_list = {
 }
 
 script_list = {
-    0   : [ "AnyScript",         "" ],
+    0   : [ "AnyScript",         "Zzzz" ],
     1   : [ "Arabic",            "Arab" ],
     2   : [ "Cyrillic",          "Cyrl" ],
     3   : [ "Deseret",           "Dsrt" ],
@@ -552,18 +552,24 @@ script_list = {
 }
 
 def countryCodeToId(code):
+    if not code:
+        return 0
     for country_id in country_list:
         if country_list[country_id][1] == code:
             return country_id
     return -1
 
 def languageCodeToId(code):
+    if not code:
+        return 0
     for language_id in language_list:
         if language_list[language_id][1] == code:
             return language_id
     return -1
 
 def scriptCodeToId(code):
+    if not code:
+        return 0
     for script_id in script_list:
         if script_list[script_id][1] == code:
             return script_id