static UHashtable *regionIDMap;\r
static UHashtable *numericCodeMap;\r
\r
-static UnicodeString UNKNOWN_REGION_ID = UNICODE_STRING_SIMPLE("ZZ");\r
-static UnicodeString OUTLYING_OCEANIA_REGION_ID = UNICODE_STRING_SIMPLE("QO");\r
-static UnicodeString WORLD_ID = UNICODE_STRING_SIMPLE("001");\r
+static const UChar UNKNOWN_REGION_ID [] = { 0x5A, 0x5A, 0 }; /* "ZZ" */\r
+static const UChar OUTLYING_OCEANIA_REGION_ID [] = { 0x51, 0x4F, 0 }; /* "QO" */\r
+static const UChar WORLD_ID [] = { 0x30, 0x30, 0x31, 0 }; /* "001" */\r
\r
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(Region)\r
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(RegionNameEnumeration)\r
\r
// Now fill in the special cases for WORLD, UNKNOWN, CONTINENTS, and GROUPINGS\r
Region *r;\r
- r = (Region *) uhash_get(regionIDMap,(void *)&WORLD_ID);\r
+ UnicodeString WORLD_ID_STRING(WORLD_ID);\r
+ r = (Region *) uhash_get(regionIDMap,(void *)&WORLD_ID_STRING);\r
if ( r ) {\r
r->type = URGN_WORLD;\r
}\r
\r
- r = (Region *) uhash_get(regionIDMap,(void *)&UNKNOWN_REGION_ID);\r
+ UnicodeString UNKNOWN_REGION_ID_STRING(UNKNOWN_REGION_ID);\r
+ r = (Region *) uhash_get(regionIDMap,(void *)&UNKNOWN_REGION_ID_STRING);\r
if ( r ) {\r
r->type = URGN_UNKNOWN;\r
}\r
// Special case: The region code "QO" (Outlying Oceania) is a subcontinent code added by CLDR\r
// even though it looks like a territory code. Need to handle it here.\r
\r
- r = (Region *) uhash_get(regionIDMap,(void *)&OUTLYING_OCEANIA_REGION_ID);\r
+ UnicodeString OUTLYING_OCEANIA_REGION_ID_STRING(OUTLYING_OCEANIA_REGION_ID);\r
+ r = (Region *) uhash_get(regionIDMap,(void *)&OUTLYING_OCEANIA_REGION_ID_STRING);\r
if ( r ) {\r
r->type = URGN_SUBCONTINENT;\r
}\r