projects
/
platform
/
framework
/
web
/
crosswalk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git]
/
src
/
third_party
/
icu
/
source
/
i18n
/
transreg.cpp
diff --git
a/src/third_party/icu/source/i18n/transreg.cpp
b/src/third_party/icu/source/i18n/transreg.cpp
index
8e1d4f4
..
7728151
100644
(file)
--- a/
src/third_party/icu/source/i18n/transreg.cpp
+++ b/
src/third_party/icu/source/i18n/transreg.cpp
@@
-1,6
+1,6
@@
/*
**********************************************************************
/*
**********************************************************************
-* Copyright (c) 2001-201
0
, International Business Machines
+* Copyright (c) 2001-201
1
, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Date Name Description
* Corporation and others. All Rights Reserved.
**********************************************************************
* Date Name Description
@@
-44,9
+44,11
@@
static const UChar LOCALE_SEP = 95; // '_'
//static const UChar VARIANT_SEP = 0x002F; // '/'
// String constants
//static const UChar VARIANT_SEP = 0x002F; // '/'
// String constants
-static const UChar NO_VARIANT[] = { 0 }; // empty string
static const UChar ANY[] = { 65, 110, 121, 0 }; // Any
static const UChar ANY[] = { 65, 110, 121, 0 }; // Any
+// empty string
+#define NO_VARIANT UnicodeString()
+
/**
* Resource bundle key for the RuleBasedTransliterator rule.
*/
/**
* Resource bundle key for the RuleBasedTransliterator rule.
*/
@@
-517,7
+519,7
@@
TransliteratorRegistry::TransliteratorRegistry(UErrorCode& status) :
availableIDs(status)
{
registry.setValueDeleter(deleteEntry);
availableIDs(status)
{
registry.setValueDeleter(deleteEntry);
- availableIDs.setDeleter(u
hash_deleteUnicodeString
);
+ availableIDs.setDeleter(u
prv_deleteUObject
);
availableIDs.setComparer(uhash_compareCaselessUnicodeString);
specDAG.setValueDeleter(uhash_deleteHashtable);
}
availableIDs.setComparer(uhash_compareCaselessUnicodeString);
specDAG.setValueDeleter(uhash_deleteHashtable);
}
@@
-868,7
+870,7
@@
void TransliteratorRegistry::registerEntry(const UnicodeString& source,
UnicodeString ID;
UnicodeString s(source);
if (s.length() == 0) {
UnicodeString ID;
UnicodeString s(source);
if (s.length() == 0) {
- s
= ANY
;
+ s
.setTo(TRUE, ANY, 3)
;
}
TransliteratorIDParser::STVtoID(source, target, variant, ID);
registerEntry(ID, s, target, variant, adopted, visible);
}
TransliteratorIDParser::STVtoID(source, target, variant, ID);
registerEntry(ID, s, target, variant, adopted, visible);
@@
-936,12
+938,12
@@
void TransliteratorRegistry::registerSTV(const UnicodeString& source,
if (U_FAILURE(status) || targets == 0) {
return;
}
if (U_FAILURE(status) || targets == 0) {
return;
}
- targets->setValueDeleter(u
hash
_deleteUObject);
+ targets->setValueDeleter(u
prv
_deleteUObject);
specDAG.put(source, targets, status);
}
UVector *variants = (UVector*) targets->get(target);
if (variants == 0) {
specDAG.put(source, targets, status);
}
UVector *variants = (UVector*) targets->get(target);
if (variants == 0) {
- variants = new UVector(u
hash_deleteUnicodeString
,
+ variants = new UVector(u
prv_deleteUObject
,
uhash_compareCaselessUnicodeString, status);
if (variants == 0) {
return;
uhash_compareCaselessUnicodeString, status);
if (variants == 0) {
return;
@@
-959,7
+961,7
@@
void TransliteratorRegistry::registerSTV(const UnicodeString& source,
variants->addElement(tempus, status);
}
} else {
variants->addElement(tempus, status);
}
} else {
- tempus = new UnicodeString(
NO_VARIANT) ;
+ tempus = new UnicodeString(
); // = NO_VARIANT
if (tempus != NULL) {
variants->insertElementAt(tempus, 0, status);
}
if (tempus != NULL) {
variants->insertElementAt(tempus, 0, status);
}
@@
-1073,9
+1075,9
@@
TransliteratorEntry* TransliteratorRegistry::findInBundle(const TransliteratorSp
// but must be consistent and documented.
if (pass == 0) {
utag.append(direction == UTRANS_FORWARD ?
// but must be consistent and documented.
if (pass == 0) {
utag.append(direction == UTRANS_FORWARD ?
- TRANSLITERATE_TO : TRANSLITERATE_FROM);
+ TRANSLITERATE_TO : TRANSLITERATE_FROM
, -1
);
} else {
} else {
- utag.append(TRANSLITERATE);
+ utag.append(TRANSLITERATE
, -1
);
}
UnicodeString s(specToFind.get());
utag.append(s.toUpper(""));
}
UnicodeString s(specToFind.get());
utag.append(s.toUpper(""));
@@
-1282,7
+1284,8
@@
Transliterator* TransliteratorRegistry::instantiateEntry(const UnicodeString& ID
}
int32_t passNumber = 1;
for (int32_t i = 0; U_SUCCESS(status) && i < entry->u.dataVector->size(); i++) {
}
int32_t passNumber = 1;
for (int32_t i = 0; U_SUCCESS(status) && i < entry->u.dataVector->size(); i++) {
- Transliterator* t = new RuleBasedTransliterator(UnicodeString(CompoundTransliterator::PASS_STRING) + (passNumber++),
+ // TODO: Should passNumber be turned into a decimal-string representation (1 -> "1")?
+ Transliterator* t = new RuleBasedTransliterator(UnicodeString(CompoundTransliterator::PASS_STRING) + UnicodeString(passNumber++),
(TransliterationRuleData*)(entry->u.dataVector->elementAt(i)), FALSE);
if (t == 0)
status = U_MEMORY_ALLOCATION_ERROR;
(TransliterationRuleData*)(entry->u.dataVector->elementAt(i)), FALSE);
if (t == 0)
status = U_MEMORY_ALLOCATION_ERROR;