Merge pull request #67968 from bruvzg/icu72.1

ICU: Update to version 72.1
This commit is contained in:
Rémi Verschelde 2022-10-31 14:25:37 +01:00
commit d43364e3cc
No known key found for this signature in database
GPG Key ID: C3336907360768E1
216 changed files with 8548 additions and 7566 deletions

View File

@ -451,7 +451,7 @@ if env["builtin_icu"]:
] ]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
icu_data_name = "icudt71l.dat" icu_data_name = "icudt72l.dat"
if env.editor_build: if env.editor_build:
env_icu.Depends("#thirdparty/icu4c/icudata.gen.h", "#thirdparty/icu4c/" + icu_data_name) env_icu.Depends("#thirdparty/icu4c/icudata.gen.h", "#thirdparty/icu4c/" + icu_data_name)

View File

@ -597,7 +597,7 @@ thirdparty_icu_sources = [
] ]
thirdparty_icu_sources = [thirdparty_icu_dir + file for file in thirdparty_icu_sources] thirdparty_icu_sources = [thirdparty_icu_dir + file for file in thirdparty_icu_sources]
icu_data_name = "icudt71l.dat" icu_data_name = "icudt72l.dat"
if env["static_icu_data"]: if env["static_icu_data"]:
env_icu.Depends("../../../thirdparty/icu4c/icudata.gen.h", "../../../thirdparty/icu4c/" + icu_data_name) env_icu.Depends("../../../thirdparty/icu4c/icudata.gen.h", "../../../thirdparty/icu4c/" + icu_data_name)

View File

@ -226,7 +226,7 @@ Files extracted from upstream source:
## icu4c ## icu4c
- Upstream: https://github.com/unicode-org/icu - Upstream: https://github.com/unicode-org/icu
- Version: 71.1 (c205e7ee49a7086a28b9c275fcfdac9ca3dc815d, 2022) - Version: 72.1 (ff3514f257ea10afe7e710e9f946f68d256704b1, 2022)
- License: Unicode - License: Unicode
Files extracted from upstream source: Files extracted from upstream source:
@ -238,14 +238,14 @@ Files extracted from upstream source:
Files generated from upstream source: Files generated from upstream source:
- the `icudt71l.dat` built with the provided `godot_data.json` config file (see - the `icudt72l.dat` built with the provided `godot_data.json` config file (see
https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md
for instructions). for instructions).
- Step 1: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`. - Step 1: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`.
- Step 2: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`. - Step 2: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`.
- Step 3: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`. - Step 3: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`.
- Step 4: Copy `source/data/out/icudt71l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt71l.dat`. - Step 4: Copy `source/data/out/icudt72l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt72l.dat`.
## jpeg-compressor ## jpeg-compressor

View File

@ -37,23 +37,23 @@ Appendable::appendString(const UChar *s, int32_t length) {
UChar c; UChar c;
while((c=*s++)!=0) { while((c=*s++)!=0) {
if(!appendCodeUnit(c)) { if(!appendCodeUnit(c)) {
return FALSE; return false;
} }
} }
} else if(length>0) { } else if(length>0) {
const UChar *limit=s+length; const UChar *limit=s+length;
do { do {
if(!appendCodeUnit(*s++)) { if(!appendCodeUnit(*s++)) {
return FALSE; return false;
} }
} while(s<limit); } while(s<limit);
} }
return TRUE; return true;
} }
UBool UBool
Appendable::reserveAppendCapacity(int32_t /*appendCapacity*/) { Appendable::reserveAppendCapacity(int32_t /*appendCapacity*/) {
return TRUE; return true;
} }
UChar * UChar *

View File

@ -309,9 +309,9 @@ BMPSet::contains(UChar32 c) const {
// surrogate or supplementary code point // surrogate or supplementary code point
return containsSlow(c, list4kStarts[0xd], list4kStarts[0x11]); return containsSlow(c, list4kStarts[0xd], list4kStarts[0x11]);
} else { } else {
// Out-of-range code points get FALSE, consistent with long-standing // Out-of-range code points get false, consistent with long-standing
// behavior of UnicodeSet::contains(c). // behavior of UnicodeSet::contains(c).
return FALSE; return false;
} }
} }

View File

@ -261,10 +261,10 @@ ICULanguageBreakFactory::loadDictionaryMatcherFor(UScriptCode script) {
const UChar *extStart = u_memrchr(dictfname, 0x002e, dictnlength); // last dot const UChar *extStart = u_memrchr(dictfname, 0x002e, dictnlength); // last dot
if (extStart != NULL) { if (extStart != NULL) {
int32_t len = (int32_t)(extStart - dictfname); int32_t len = (int32_t)(extStart - dictfname);
ext.appendInvariantChars(UnicodeString(FALSE, extStart + 1, dictnlength - len - 1), status); ext.appendInvariantChars(UnicodeString(false, extStart + 1, dictnlength - len - 1), status);
dictnlength = len; dictnlength = len;
} }
dictnbuf.appendInvariantChars(UnicodeString(FALSE, dictfname, dictnlength), status); dictnbuf.appendInvariantChars(UnicodeString(false, dictfname, dictnlength), status);
ures_close(b); ures_close(b);
UDataMemory *file = udata_open(U_ICUDATA_BRKITR, ext.data(), dictnbuf.data(), &status); UDataMemory *file = udata_open(U_ICUDATA_BRKITR, ext.data(), dictnbuf.data(), &status);

View File

@ -279,7 +279,7 @@ ICUBreakIteratorService::~ICUBreakIteratorService() {}
// defined in ucln_cmn.h // defined in ucln_cmn.h
U_NAMESPACE_END U_NAMESPACE_END
static icu::UInitOnce gInitOnceBrkiter = U_INITONCE_INITIALIZER; static icu::UInitOnce gInitOnceBrkiter {};
static icu::ICULocaleService* gService = NULL; static icu::ICULocaleService* gService = NULL;
@ -296,7 +296,7 @@ static UBool U_CALLCONV breakiterator_cleanup(void) {
} }
gInitOnceBrkiter.reset(); gInitOnceBrkiter.reset();
#endif #endif
return TRUE; return true;
} }
U_CDECL_END U_CDECL_END
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
@ -347,7 +347,7 @@ BreakIterator::unregister(URegistryKey key, UErrorCode& status)
} }
status = U_MEMORY_ALLOCATION_ERROR; status = U_MEMORY_ALLOCATION_ERROR;
} }
return FALSE; return false;
} }
// ------------------------------------- // -------------------------------------

View File

@ -20,7 +20,7 @@ U_NAMESPACE_BEGIN
UBool UBool
ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Length, ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Length,
ByteSink &sink, Edits *edits, UErrorCode &errorCode) { ByteSink &sink, Edits *edits, UErrorCode &errorCode) {
if (U_FAILURE(errorCode)) { return FALSE; } if (U_FAILURE(errorCode)) { return false; }
char scratch[200]; char scratch[200];
int32_t s8Length = 0; int32_t s8Length = 0;
for (int32_t i = 0; i < s16Length;) { for (int32_t i = 0; i < s16Length;) {
@ -44,7 +44,7 @@ ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Lengt
} }
if (j > (INT32_MAX - s8Length)) { if (j > (INT32_MAX - s8Length)) {
errorCode = U_INDEX_OUTOFBOUNDS_ERROR; errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
return FALSE; return false;
} }
sink.Append(buffer, j); sink.Append(buffer, j);
s8Length += j; s8Length += j;
@ -52,17 +52,17 @@ ByteSinkUtil::appendChange(int32_t length, const char16_t *s16, int32_t s16Lengt
if (edits != nullptr) { if (edits != nullptr) {
edits->addReplace(length, s8Length); edits->addReplace(length, s8Length);
} }
return TRUE; return true;
} }
UBool UBool
ByteSinkUtil::appendChange(const uint8_t *s, const uint8_t *limit, ByteSinkUtil::appendChange(const uint8_t *s, const uint8_t *limit,
const char16_t *s16, int32_t s16Length, const char16_t *s16, int32_t s16Length,
ByteSink &sink, Edits *edits, UErrorCode &errorCode) { ByteSink &sink, Edits *edits, UErrorCode &errorCode) {
if (U_FAILURE(errorCode)) { return FALSE; } if (U_FAILURE(errorCode)) { return false; }
if ((limit - s) > INT32_MAX) { if ((limit - s) > INT32_MAX) {
errorCode = U_INDEX_OUTOFBOUNDS_ERROR; errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
return FALSE; return false;
} }
return appendChange((int32_t)(limit - s), s16, s16Length, sink, edits, errorCode); return appendChange((int32_t)(limit - s), s16, s16Length, sink, edits, errorCode);
} }
@ -109,16 +109,16 @@ UBool
ByteSinkUtil::appendUnchanged(const uint8_t *s, const uint8_t *limit, ByteSinkUtil::appendUnchanged(const uint8_t *s, const uint8_t *limit,
ByteSink &sink, uint32_t options, Edits *edits, ByteSink &sink, uint32_t options, Edits *edits,
UErrorCode &errorCode) { UErrorCode &errorCode) {
if (U_FAILURE(errorCode)) { return FALSE; } if (U_FAILURE(errorCode)) { return false; }
if ((limit - s) > INT32_MAX) { if ((limit - s) > INT32_MAX) {
errorCode = U_INDEX_OUTOFBOUNDS_ERROR; errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
return FALSE; return false;
} }
int32_t length = (int32_t)(limit - s); int32_t length = (int32_t)(limit - s);
if (length > 0) { if (length > 0) {
appendNonEmptyUnchanged(s, length, sink, options, edits); appendNonEmptyUnchanged(s, length, sink, options, edits);
} }
return TRUE; return true;
} }
CharStringByteSink::CharStringByteSink(CharString* dest) : dest_(*dest) { CharStringByteSink::CharStringByteSink(CharString* dest) : dest_(*dest) {

View File

@ -4,6 +4,9 @@
// bytesinkutil.h // bytesinkutil.h
// created: 2017sep14 Markus W. Scherer // created: 2017sep14 Markus W. Scherer
#ifndef BYTESINKUTIL_H
#define BYTESINKUTIL_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/bytestream.h" #include "unicode/bytestream.h"
#include "unicode/edits.h" #include "unicode/edits.h"
@ -81,3 +84,5 @@ private:
}; };
U_NAMESPACE_END U_NAMESPACE_END
#endif //BYTESINKUTIL_H

View File

@ -30,14 +30,14 @@ void ByteSink::Flush() {}
CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, int32_t capacity) CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, int32_t capacity)
: outbuf_(outbuf), capacity_(capacity < 0 ? 0 : capacity), : outbuf_(outbuf), capacity_(capacity < 0 ? 0 : capacity),
size_(0), appended_(0), overflowed_(FALSE) { size_(0), appended_(0), overflowed_(false) {
} }
CheckedArrayByteSink::~CheckedArrayByteSink() {} CheckedArrayByteSink::~CheckedArrayByteSink() {}
CheckedArrayByteSink& CheckedArrayByteSink::Reset() { CheckedArrayByteSink& CheckedArrayByteSink::Reset() {
size_ = appended_ = 0; size_ = appended_ = 0;
overflowed_ = FALSE; overflowed_ = false;
return *this; return *this;
} }
@ -48,14 +48,14 @@ void CheckedArrayByteSink::Append(const char* bytes, int32_t n) {
if (n > (INT32_MAX - appended_)) { if (n > (INT32_MAX - appended_)) {
// TODO: Report as integer overflow, not merely buffer overflow. // TODO: Report as integer overflow, not merely buffer overflow.
appended_ = INT32_MAX; appended_ = INT32_MAX;
overflowed_ = TRUE; overflowed_ = true;
return; return;
} }
appended_ += n; appended_ += n;
int32_t available = capacity_ - size_; int32_t available = capacity_ - size_;
if (n > available) { if (n > available) {
n = available; n = available;
overflowed_ = TRUE; overflowed_ = true;
} }
if (n > 0 && bytes != (outbuf_ + size_)) { if (n > 0 && bytes != (outbuf_ + size_)) {
uprv_memcpy(outbuf_ + size_, bytes, n); uprv_memcpy(outbuf_ + size_, bytes, n);

View File

@ -337,13 +337,13 @@ BytesTrie::findUniqueValueFromBranch(const uint8_t *pos, int32_t length,
} }
} else { } else {
uniqueValue=value; uniqueValue=value;
haveUniqueValue=TRUE; haveUniqueValue=true;
} }
} else { } else {
if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) { if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
return NULL; return NULL;
} }
haveUniqueValue=TRUE; haveUniqueValue=true;
} }
} while(--length>1); } while(--length>1);
return pos+1; // ignore the last comparison byte return pos+1; // ignore the last comparison byte
@ -359,9 +359,9 @@ BytesTrie::findUniqueValue(const uint8_t *pos, UBool haveUniqueValue, int32_t &u
} }
pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue); pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
if(pos==NULL) { if(pos==NULL) {
return FALSE; return false;
} }
haveUniqueValue=TRUE; haveUniqueValue=true;
} else if(node<kMinValueLead) { } else if(node<kMinValueLead) {
// linear-match node // linear-match node
pos+=node-kMinLinearMatch+1; // Ignore the match bytes. pos+=node-kMinLinearMatch+1; // Ignore the match bytes.
@ -370,14 +370,14 @@ BytesTrie::findUniqueValue(const uint8_t *pos, UBool haveUniqueValue, int32_t &u
int32_t value=readValue(pos, node>>1); int32_t value=readValue(pos, node>>1);
if(haveUniqueValue) { if(haveUniqueValue) {
if(value!=uniqueValue) { if(value!=uniqueValue) {
return FALSE; return false;
} }
} else { } else {
uniqueValue=value; uniqueValue=value;
haveUniqueValue=TRUE; haveUniqueValue=true;
} }
if(isFinal) { if(isFinal) {
return TRUE; return true;
} }
pos=skipValue(pos, node); pos=skipValue(pos, node);
} }

View File

@ -231,7 +231,7 @@ BytesTrieBuilder::buildBytes(UStringTrieBuildOption buildOption, UErrorCode &err
} }
uprv_sortArray(elements, elementsLength, (int32_t)sizeof(BytesTrieElement), uprv_sortArray(elements, elementsLength, (int32_t)sizeof(BytesTrieElement),
compareElementStrings, strings, compareElementStrings, strings,
FALSE, // need not be a stable sort false, // need not be a stable sort
&errorCode); &errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return; return;
@ -375,7 +375,7 @@ BytesTrieBuilder::createLinearMatchNode(int32_t i, int32_t byteIndex, int32_t le
UBool UBool
BytesTrieBuilder::ensureCapacity(int32_t length) { BytesTrieBuilder::ensureCapacity(int32_t length) {
if(bytes==NULL) { if(bytes==NULL) {
return FALSE; // previous memory allocation had failed return false; // previous memory allocation had failed
} }
if(length>bytesCapacity) { if(length>bytesCapacity) {
int32_t newCapacity=bytesCapacity; int32_t newCapacity=bytesCapacity;
@ -388,7 +388,7 @@ BytesTrieBuilder::ensureCapacity(int32_t length) {
uprv_free(bytes); uprv_free(bytes);
bytes=NULL; bytes=NULL;
bytesCapacity=0; bytesCapacity=0;
return FALSE; return false;
} }
uprv_memcpy(newBytes+(newCapacity-bytesLength), uprv_memcpy(newBytes+(newCapacity-bytesLength),
bytes+(bytesCapacity-bytesLength), bytesLength); bytes+(bytesCapacity-bytesLength), bytesLength);
@ -396,7 +396,7 @@ BytesTrieBuilder::ensureCapacity(int32_t length) {
bytes=newBytes; bytes=newBytes;
bytesCapacity=newCapacity; bytesCapacity=newCapacity;
} }
return TRUE; return true;
} }
int32_t int32_t
@ -463,7 +463,7 @@ int32_t
BytesTrieBuilder::writeValueAndType(UBool hasValue, int32_t value, int32_t node) { BytesTrieBuilder::writeValueAndType(UBool hasValue, int32_t value, int32_t node) {
int32_t offset=write(node); int32_t offset=write(node);
if(hasValue) { if(hasValue) {
offset=writeValueAndFinal(value, FALSE); offset=writeValueAndFinal(value, false);
} }
return offset; return offset;
} }

View File

@ -101,12 +101,12 @@ BytesTrie::Iterator::hasNext() const { return pos_!=NULL || !stack_->isEmpty();
UBool UBool
BytesTrie::Iterator::next(UErrorCode &errorCode) { BytesTrie::Iterator::next(UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
const uint8_t *pos=pos_; const uint8_t *pos=pos_;
if(pos==NULL) { if(pos==NULL) {
if(stack_->isEmpty()) { if(stack_->isEmpty()) {
return FALSE; return false;
} }
// Pop the state off the stack and continue with the next outbound edge of // Pop the state off the stack and continue with the next outbound edge of
// the branch node. // the branch node.
@ -119,7 +119,7 @@ BytesTrie::Iterator::next(UErrorCode &errorCode) {
if(length>1) { if(length>1) {
pos=branchNext(pos, length, errorCode); pos=branchNext(pos, length, errorCode);
if(pos==NULL) { if(pos==NULL) {
return TRUE; // Reached a final value. return true; // Reached a final value.
} }
} else { } else {
str_->append((char)*pos++, errorCode); str_->append((char)*pos++, errorCode);
@ -141,7 +141,7 @@ BytesTrie::Iterator::next(UErrorCode &errorCode) {
} else { } else {
pos_=skipValue(pos, node); pos_=skipValue(pos, node);
} }
return TRUE; return true;
} }
if(maxLength_>0 && str_->length()==maxLength_) { if(maxLength_>0 && str_->length()==maxLength_) {
return truncateAndStop(); return truncateAndStop();
@ -152,7 +152,7 @@ BytesTrie::Iterator::next(UErrorCode &errorCode) {
} }
pos=branchNext(pos, node+1, errorCode); pos=branchNext(pos, node+1, errorCode);
if(pos==NULL) { if(pos==NULL) {
return TRUE; // Reached a final value. return true; // Reached a final value.
} }
} else { } else {
// Linear-match node, append length bytes to str_. // Linear-match node, append length bytes to str_.
@ -177,7 +177,7 @@ UBool
BytesTrie::Iterator::truncateAndStop() { BytesTrie::Iterator::truncateAndStop() {
pos_=NULL; pos_=NULL;
value_=-1; // no real value for str value_=-1; // no real value for str
return TRUE; return true;
} }
// Branch node, needs to take the first outbound edge and push state for the rest. // Branch node, needs to take the first outbound edge and push state for the rest.

View File

@ -119,7 +119,7 @@ UnicodeString CanonicalIterator::getSource() {
* Resets the iterator so that one can start again from the beginning. * Resets the iterator so that one can start again from the beginning.
*/ */
void CanonicalIterator::reset() { void CanonicalIterator::reset() {
done = FALSE; done = false;
for (int i = 0; i < current_length; ++i) { for (int i = 0; i < current_length; ++i) {
current[i] = 0; current[i] = 0;
} }
@ -151,7 +151,7 @@ UnicodeString CanonicalIterator::next() {
for (i = current_length - 1; ; --i) { for (i = current_length - 1; ; --i) {
if (i < 0) { if (i < 0) {
done = TRUE; done = true;
break; break;
} }
current[i]++; current[i]++;
@ -176,7 +176,7 @@ void CanonicalIterator::setSource(const UnicodeString &newSource, UErrorCode &st
if(U_FAILURE(status)) { if(U_FAILURE(status)) {
return; return;
} }
done = FALSE; done = false;
cleanPieces(); cleanPieces();
@ -521,7 +521,7 @@ Hashtable *CanonicalIterator::extract(Hashtable *fillinResult, UChar32 comp, con
int32_t decompLen=decompString.length(); int32_t decompLen=decompString.length();
// See if it matches the start of segment (at segmentPos) // See if it matches the start of segment (at segmentPos)
UBool ok = FALSE; UBool ok = false;
UChar32 cp; UChar32 cp;
int32_t decompPos = 0; int32_t decompPos = 0;
UChar32 decompCp; UChar32 decompCp;
@ -537,7 +537,7 @@ Hashtable *CanonicalIterator::extract(Hashtable *fillinResult, UChar32 comp, con
if (decompPos == decompLen) { // done, have all decomp characters! if (decompPos == decompLen) { // done, have all decomp characters!
temp.append(segment+i, segLen-i); temp.append(segment+i, segLen-i);
ok = TRUE; ok = true;
break; break;
} }
U16_NEXT(decomp, decompPos, decompLen, decompCp); U16_NEXT(decomp, decompPos, decompLen, decompCp);

View File

@ -36,11 +36,11 @@ namespace {
UBool U_CALLCONV characterproperties_cleanup(); UBool U_CALLCONV characterproperties_cleanup();
constexpr int32_t NUM_INCLUSIONS = UPROPS_SRC_COUNT + UCHAR_INT_LIMIT - UCHAR_INT_START; constexpr int32_t NUM_INCLUSIONS = UPROPS_SRC_COUNT + (UCHAR_INT_LIMIT - UCHAR_INT_START);
struct Inclusion { struct Inclusion {
UnicodeSet *fSet = nullptr; UnicodeSet *fSet = nullptr;
UInitOnce fInitOnce = U_INITONCE_INITIALIZER; UInitOnce fInitOnce {};
}; };
Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions() Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions()
@ -85,7 +85,7 @@ UBool U_CALLCONV characterproperties_cleanup() {
ucptrie_close(reinterpret_cast<UCPTrie *>(maps[i])); ucptrie_close(reinterpret_cast<UCPTrie *>(maps[i]));
maps[i] = nullptr; maps[i] = nullptr;
} }
return TRUE; return true;
} }
void U_CALLCONV initInclusion(UPropertySource src, UErrorCode &errorCode) { void U_CALLCONV initInclusion(UPropertySource src, UErrorCode &errorCode) {
@ -210,7 +210,7 @@ const UnicodeSet *getInclusionsForSource(UPropertySource src, UErrorCode &errorC
void U_CALLCONV initIntPropInclusion(UProperty prop, UErrorCode &errorCode) { void U_CALLCONV initIntPropInclusion(UProperty prop, UErrorCode &errorCode) {
// This function is invoked only via umtx_initOnce(). // This function is invoked only via umtx_initOnce().
U_ASSERT(UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT); U_ASSERT(UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT);
int32_t inclIndex = UPROPS_SRC_COUNT + prop - UCHAR_INT_START; int32_t inclIndex = UPROPS_SRC_COUNT + (prop - UCHAR_INT_START);
U_ASSERT(gInclusions[inclIndex].fSet == nullptr); U_ASSERT(gInclusions[inclIndex].fSet == nullptr);
UPropertySource src = uprops_getSource(prop); UPropertySource src = uprops_getSource(prop);
const UnicodeSet *incl = getInclusionsForSource(src, errorCode); const UnicodeSet *incl = getInclusionsForSource(src, errorCode);
@ -255,7 +255,7 @@ const UnicodeSet *CharacterProperties::getInclusionsForProperty(
UProperty prop, UErrorCode &errorCode) { UProperty prop, UErrorCode &errorCode) {
if (U_FAILURE(errorCode)) { return nullptr; } if (U_FAILURE(errorCode)) { return nullptr; }
if (UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT) { if (UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT) {
int32_t inclIndex = UPROPS_SRC_COUNT + prop - UCHAR_INT_START; int32_t inclIndex = UPROPS_SRC_COUNT + (prop - UCHAR_INT_START);
Inclusion &i = gInclusions[inclIndex]; Inclusion &i = gInclusions[inclIndex];
umtx_initOnce(i.fInitOnce, &initIntPropInclusion, prop, errorCode); umtx_initOnce(i.fInitOnce, &initIntPropInclusion, prop, errorCode);
return i.fSet; return i.fSet;

View File

@ -220,7 +220,7 @@ UBool CharString::ensureCapacity(int32_t capacity,
int32_t desiredCapacityHint, int32_t desiredCapacityHint,
UErrorCode &errorCode) { UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
if(capacity>buffer.getCapacity()) { if(capacity>buffer.getCapacity()) {
if(desiredCapacityHint==0) { if(desiredCapacityHint==0) {
@ -230,10 +230,10 @@ UBool CharString::ensureCapacity(int32_t capacity,
buffer.resize(capacity, len+1)==NULL buffer.resize(capacity, len+1)==NULL
) { ) {
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
} }
return TRUE; return true;
} }
CharString &CharString::appendPathPart(StringPiece s, UErrorCode &errorCode) { CharString &CharString::appendPathPart(StringPiece s, UErrorCode &errorCode) {

View File

@ -177,8 +177,8 @@ private:
UBool ensureCapacity(int32_t capacity, int32_t desiredCapacityHint, UErrorCode &errorCode); UBool ensureCapacity(int32_t capacity, int32_t desiredCapacityHint, UErrorCode &errorCode);
CharString(const CharString &other); // forbid copying of this class CharString(const CharString &other) = delete; // forbid copying of this class
CharString &operator=(const CharString &other); // forbid copying of this class CharString &operator=(const CharString &other) = delete; // forbid copying of this class
/** /**
* Returns U_FILE_ALT_SEP_CHAR if found in string, and U_FILE_SEP_CHAR is not found. * Returns U_FILE_ALT_SEP_CHAR if found in string, and U_FILE_SEP_CHAR is not found.

View File

@ -134,5 +134,5 @@ U_CFUNC UBool cmemory_cleanup(void) {
pAlloc = NULL; pAlloc = NULL;
pRealloc = NULL; pRealloc = NULL;
pFree = NULL; pFree = NULL;
return TRUE; return true;
} }

View File

@ -51,8 +51,8 @@ class U_COMMON_API CStr : public UMemory {
private: private:
CharString s; CharString s;
CStr(const CStr &other); // Forbid copying of this class. CStr(const CStr &other) = delete; // Forbid copying of this class.
CStr &operator =(const CStr &other); // Forbid assignment. CStr &operator =(const CStr &other) = delete; // Forbid assignment.
}; };
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -119,7 +119,7 @@ public:
// Select the currently marked candidate, point after it in the text, and invalidate self // Select the currently marked candidate, point after it in the text, and invalidate self
int32_t acceptMarked( UText *text ); int32_t acceptMarked( UText *text );
// Back up from the current candidate to the next shorter one; return TRUE if that exists // Back up from the current candidate to the next shorter one; return true if that exists
// and point the text after it // and point the text after it
UBool backUp( UText *text ); UBool backUp( UText *text );
@ -165,9 +165,9 @@ UBool
PossibleWord::backUp( UText *text ) { PossibleWord::backUp( UText *text ) {
if (current > 0) { if (current > 0) {
utext_setNativeIndex(text, offset + cuLengths[--current]); utext_setNativeIndex(text, offset + cuLengths[--current]);
return TRUE; return true;
} }
return FALSE; return false;
} }
/* /*
@ -1146,7 +1146,7 @@ CjkBreakEngine::divideUpDictionaryRange( UText *inText,
// Input UText is in one contiguous UTF-16 chunk. // Input UText is in one contiguous UTF-16 chunk.
// Use Read-only aliasing UnicodeString. // Use Read-only aliasing UnicodeString.
inString.setTo(FALSE, inString.setTo(false,
inText->chunkContents + rangeStart - inText->chunkNativeStart, inText->chunkContents + rangeStart - inText->chunkNativeStart,
rangeEnd - rangeStart); rangeEnd - rangeStart);
} else { } else {

View File

@ -221,7 +221,7 @@ UBool Edits::growArray() {
// Not U_BUFFER_OVERFLOW_ERROR because that could be confused on a string transform API // Not U_BUFFER_OVERFLOW_ERROR because that could be confused on a string transform API
// with a result-string-buffer overflow. // with a result-string-buffer overflow.
errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR; errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR;
return FALSE; return false;
} else if (capacity >= (INT32_MAX / 2)) { } else if (capacity >= (INT32_MAX / 2)) {
newCapacity = INT32_MAX; newCapacity = INT32_MAX;
} else { } else {
@ -230,25 +230,25 @@ UBool Edits::growArray() {
// Grow by at least 5 units so that a maximal change record will fit. // Grow by at least 5 units so that a maximal change record will fit.
if ((newCapacity - capacity) < 5) { if ((newCapacity - capacity) < 5) {
errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR; errorCode_ = U_INDEX_OUTOFBOUNDS_ERROR;
return FALSE; return false;
} }
uint16_t *newArray = (uint16_t *)uprv_malloc((size_t)newCapacity * 2); uint16_t *newArray = (uint16_t *)uprv_malloc((size_t)newCapacity * 2);
if (newArray == NULL) { if (newArray == NULL) {
errorCode_ = U_MEMORY_ALLOCATION_ERROR; errorCode_ = U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
uprv_memcpy(newArray, array, (size_t)length * 2); uprv_memcpy(newArray, array, (size_t)length * 2);
releaseArray(); releaseArray();
array = newArray; array = newArray;
capacity = newCapacity; capacity = newCapacity;
return TRUE; return true;
} }
UBool Edits::copyErrorTo(UErrorCode &outErrorCode) const { UBool Edits::copyErrorTo(UErrorCode &outErrorCode) const {
if (U_FAILURE(outErrorCode)) { return TRUE; } if (U_FAILURE(outErrorCode)) { return true; }
if (U_SUCCESS(errorCode_)) { return FALSE; } if (U_SUCCESS(errorCode_)) { return false; }
outErrorCode = errorCode_; outErrorCode = errorCode_;
return TRUE; return true;
} }
Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &errorCode) { Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &errorCode) {
@ -257,7 +257,7 @@ Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &error
// Parallel iteration over both Edits. // Parallel iteration over both Edits.
Iterator abIter = ab.getFineIterator(); Iterator abIter = ab.getFineIterator();
Iterator bcIter = bc.getFineIterator(); Iterator bcIter = bc.getFineIterator();
UBool abHasNext = TRUE, bcHasNext = TRUE; UBool abHasNext = true, bcHasNext = true;
// Copy iterator state into local variables, so that we can modify and subdivide spans. // Copy iterator state into local variables, so that we can modify and subdivide spans.
// ab old & new length, bc old & new length // ab old & new length, bc old & new length
int32_t aLength = 0, ab_bLength = 0, bc_bLength = 0, cLength = 0; int32_t aLength = 0, ab_bLength = 0, bc_bLength = 0, cLength = 0;
@ -400,7 +400,7 @@ Edits &Edits::mergeAndAppend(const Edits &ab, const Edits &bc, UErrorCode &error
Edits::Iterator::Iterator(const uint16_t *a, int32_t len, UBool oc, UBool crs) : Edits::Iterator::Iterator(const uint16_t *a, int32_t len, UBool oc, UBool crs) :
array(a), index(0), length(len), remaining(0), array(a), index(0), length(len), remaining(0),
onlyChanges_(oc), coarse(crs), onlyChanges_(oc), coarse(crs),
dir(0), changed(FALSE), oldLength_(0), newLength_(0), dir(0), changed(false), oldLength_(0), newLength_(0),
srcIndex(0), replIndex(0), destIndex(0) {} srcIndex(0), replIndex(0), destIndex(0) {}
int32_t Edits::Iterator::readLength(int32_t head) { int32_t Edits::Iterator::readLength(int32_t head) {
@ -441,16 +441,16 @@ void Edits::Iterator::updatePreviousIndexes() {
UBool Edits::Iterator::noNext() { UBool Edits::Iterator::noNext() {
// No change before or beyond the string. // No change before or beyond the string.
dir = 0; dir = 0;
changed = FALSE; changed = false;
oldLength_ = newLength_ = 0; oldLength_ = newLength_ = 0;
return FALSE; return false;
} }
UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) { UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
// Forward iteration: Update the string indexes to the limit of the current span, // Forward iteration: Update the string indexes to the limit of the current span,
// and post-increment-read array units to assemble a new span. // and post-increment-read array units to assemble a new span.
// Leaves the array index one after the last unit of that span. // Leaves the array index one after the last unit of that span.
if (U_FAILURE(errorCode)) { return FALSE; } if (U_FAILURE(errorCode)) { return false; }
// We have an errorCode in case we need to start guarding against integer overflows. // We have an errorCode in case we need to start guarding against integer overflows.
// It is also convenient for caller loops if we bail out when an error was set elsewhere. // It is also convenient for caller loops if we bail out when an error was set elsewhere.
if (dir > 0) { if (dir > 0) {
@ -464,7 +464,7 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
// Stay on the current one of a sequence of compressed changes. // Stay on the current one of a sequence of compressed changes.
++index; // next() rests on the index after the sequence unit. ++index; // next() rests on the index after the sequence unit.
dir = 1; dir = 1;
return TRUE; return true;
} }
} }
dir = 1; dir = 1;
@ -473,7 +473,7 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
// Fine-grained iterator: Continue a sequence of compressed changes. // Fine-grained iterator: Continue a sequence of compressed changes.
if (remaining > 1) { if (remaining > 1) {
--remaining; --remaining;
return TRUE; return true;
} }
remaining = 0; remaining = 0;
} }
@ -483,7 +483,7 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
int32_t u = array[index++]; int32_t u = array[index++];
if (u <= MAX_UNCHANGED) { if (u <= MAX_UNCHANGED) {
// Combine adjacent unchanged ranges. // Combine adjacent unchanged ranges.
changed = FALSE; changed = false;
oldLength_ = u + 1; oldLength_ = u + 1;
while (index < length && (u = array[index]) <= MAX_UNCHANGED) { while (index < length && (u = array[index]) <= MAX_UNCHANGED) {
++index; ++index;
@ -498,10 +498,10 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
// already fetched u > MAX_UNCHANGED at index // already fetched u > MAX_UNCHANGED at index
++index; ++index;
} else { } else {
return TRUE; return true;
} }
} }
changed = TRUE; changed = true;
if (u <= MAX_SHORT_CHANGE) { if (u <= MAX_SHORT_CHANGE) {
int32_t oldLen = u >> 12; int32_t oldLen = u >> 12;
int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH; int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH;
@ -516,14 +516,14 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
if (num > 1) { if (num > 1) {
remaining = num; // This is the first of two or more changes. remaining = num; // This is the first of two or more changes.
} }
return TRUE; return true;
} }
} else { } else {
U_ASSERT(u <= 0x7fff); U_ASSERT(u <= 0x7fff);
oldLength_ = readLength((u >> 6) & 0x3f); oldLength_ = readLength((u >> 6) & 0x3f);
newLength_ = readLength(u & 0x3f); newLength_ = readLength(u & 0x3f);
if (!coarse) { if (!coarse) {
return TRUE; return true;
} }
} }
// Combine adjacent changes. // Combine adjacent changes.
@ -539,14 +539,14 @@ UBool Edits::Iterator::next(UBool onlyChanges, UErrorCode &errorCode) {
newLength_ += readLength(u & 0x3f); newLength_ += readLength(u & 0x3f);
} }
} }
return TRUE; return true;
} }
UBool Edits::Iterator::previous(UErrorCode &errorCode) { UBool Edits::Iterator::previous(UErrorCode &errorCode) {
// Backward iteration: Pre-decrement-read array units to assemble a new span, // Backward iteration: Pre-decrement-read array units to assemble a new span,
// then update the string indexes to the start of that span. // then update the string indexes to the start of that span.
// Leaves the array index on the head unit of that span. // Leaves the array index on the head unit of that span.
if (U_FAILURE(errorCode)) { return FALSE; } if (U_FAILURE(errorCode)) { return false; }
// We have an errorCode in case we need to start guarding against integer overflows. // We have an errorCode in case we need to start guarding against integer overflows.
// It is also convenient for caller loops if we bail out when an error was set elsewhere. // It is also convenient for caller loops if we bail out when an error was set elsewhere.
if (dir >= 0) { if (dir >= 0) {
@ -559,7 +559,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
// Stay on the current one of a sequence of compressed changes. // Stay on the current one of a sequence of compressed changes.
--index; // previous() rests on the sequence unit. --index; // previous() rests on the sequence unit.
dir = -1; dir = -1;
return TRUE; return true;
} }
updateNextIndexes(); updateNextIndexes();
} }
@ -572,7 +572,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
if (remaining <= (u & SHORT_CHANGE_NUM_MASK)) { if (remaining <= (u & SHORT_CHANGE_NUM_MASK)) {
++remaining; ++remaining;
updatePreviousIndexes(); updatePreviousIndexes();
return TRUE; return true;
} }
remaining = 0; remaining = 0;
} }
@ -582,7 +582,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
int32_t u = array[--index]; int32_t u = array[--index];
if (u <= MAX_UNCHANGED) { if (u <= MAX_UNCHANGED) {
// Combine adjacent unchanged ranges. // Combine adjacent unchanged ranges.
changed = FALSE; changed = false;
oldLength_ = u + 1; oldLength_ = u + 1;
while (index > 0 && (u = array[index - 1]) <= MAX_UNCHANGED) { while (index > 0 && (u = array[index - 1]) <= MAX_UNCHANGED) {
--index; --index;
@ -591,9 +591,9 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
newLength_ = oldLength_; newLength_ = oldLength_;
// No need to handle onlyChanges as long as previous() is called only from findIndex(). // No need to handle onlyChanges as long as previous() is called only from findIndex().
updatePreviousIndexes(); updatePreviousIndexes();
return TRUE; return true;
} }
changed = TRUE; changed = true;
if (u <= MAX_SHORT_CHANGE) { if (u <= MAX_SHORT_CHANGE) {
int32_t oldLen = u >> 12; int32_t oldLen = u >> 12;
int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH; int32_t newLen = (u >> 9) & MAX_SHORT_CHANGE_NEW_LENGTH;
@ -609,7 +609,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
remaining = 1; // This is the last of two or more changes. remaining = 1; // This is the last of two or more changes.
} }
updatePreviousIndexes(); updatePreviousIndexes();
return TRUE; return true;
} }
} else { } else {
if (u <= 0x7fff) { if (u <= 0x7fff) {
@ -629,7 +629,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
} }
if (!coarse) { if (!coarse) {
updatePreviousIndexes(); updatePreviousIndexes();
return TRUE; return true;
} }
} }
// Combine adjacent changes. // Combine adjacent changes.
@ -648,7 +648,7 @@ UBool Edits::Iterator::previous(UErrorCode &errorCode) {
} }
} }
updatePreviousIndexes(); updatePreviousIndexes();
return TRUE; return true;
} }
int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &errorCode) { int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &errorCode) {
@ -705,7 +705,7 @@ int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &erro
// The index is in the current span. // The index is in the current span.
return 0; return 0;
} }
while (next(FALSE, errorCode)) { while (next(false, errorCode)) {
if (findSource) { if (findSource) {
spanStart = srcIndex; spanStart = srcIndex;
spanLength = oldLength_; spanLength = oldLength_;
@ -739,7 +739,7 @@ int32_t Edits::Iterator::findIndex(int32_t i, UBool findSource, UErrorCode &erro
} }
int32_t Edits::Iterator::destinationIndexFromSourceIndex(int32_t i, UErrorCode &errorCode) { int32_t Edits::Iterator::destinationIndexFromSourceIndex(int32_t i, UErrorCode &errorCode) {
int32_t where = findIndex(i, TRUE, errorCode); int32_t where = findIndex(i, true, errorCode);
if (where < 0) { if (where < 0) {
// Error or before the string. // Error or before the string.
return 0; return 0;
@ -758,7 +758,7 @@ int32_t Edits::Iterator::destinationIndexFromSourceIndex(int32_t i, UErrorCode &
} }
int32_t Edits::Iterator::sourceIndexFromDestinationIndex(int32_t i, UErrorCode &errorCode) { int32_t Edits::Iterator::sourceIndexFromDestinationIndex(int32_t i, UErrorCode &errorCode) {
int32_t where = findIndex(i, FALSE, errorCode); int32_t where = findIndex(i, false, errorCode);
if (where < 0) { if (where < 0) {
// Error or before the string. // Error or before the string.
return 0; return 0;

View File

@ -22,7 +22,7 @@ U_NAMESPACE_BEGIN
namespace { namespace {
EmojiProps *singleton = nullptr; EmojiProps *singleton = nullptr;
icu::UInitOnce emojiInitOnce = U_INITONCE_INITIALIZER; icu::UInitOnce emojiInitOnce {};
UBool U_CALLCONV emojiprops_cleanup() { UBool U_CALLCONV emojiprops_cleanup() {
delete singleton; delete singleton;

View File

@ -58,7 +58,7 @@ static int32_t U_CALLCONV compareUnicodeString(UElement t1, UElement t2) {
/** /**
* A UVector which implements a set of strings. * A UVector which implements a set of strings.
*/ */
class U_COMMON_API UStringSet : public UVector { class UStringSet : public UVector {
public: public:
UStringSet(UErrorCode &status) : UVector(uprv_deleteUObject, UStringSet(UErrorCode &status) : UVector(uprv_deleteUObject,
uhash_compareUnicodeString, uhash_compareUnicodeString,
@ -482,7 +482,7 @@ SimpleFilteredSentenceBreakIterator::last(void) {
/** /**
* Concrete implementation of builder class. * Concrete implementation of builder class.
*/ */
class U_COMMON_API SimpleFilteredBreakIteratorBuilder : public FilteredBreakIteratorBuilder { class SimpleFilteredBreakIteratorBuilder : public FilteredBreakIteratorBuilder {
public: public:
virtual ~SimpleFilteredBreakIteratorBuilder(); virtual ~SimpleFilteredBreakIteratorBuilder();
SimpleFilteredBreakIteratorBuilder(const Locale &fromLocale, UErrorCode &status); SimpleFilteredBreakIteratorBuilder(const Locale &fromLocale, UErrorCode &status);
@ -614,11 +614,11 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
i++) { i++) {
const UnicodeString *abbr = fSet.getStringAt(i); const UnicodeString *abbr = fSet.getStringAt(i);
if(abbr) { if(abbr) {
FB_TRACE("build",abbr,TRUE,i); FB_TRACE("build",abbr,true,i);
ustrs[n] = *abbr; // copy by value ustrs[n] = *abbr; // copy by value
FB_TRACE("ustrs[n]",&ustrs[n],TRUE,i); FB_TRACE("ustrs[n]",&ustrs[n],true,i);
} else { } else {
FB_TRACE("build",abbr,FALSE,i); FB_TRACE("build",abbr,false,i);
status = U_MEMORY_ALLOCATION_ERROR; status = U_MEMORY_ALLOCATION_ERROR;
return NULL; return NULL;
} }
@ -629,37 +629,37 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
for(int i=0;i<subCount;i++) { for(int i=0;i<subCount;i++) {
int nn = ustrs[i].indexOf(kFULLSTOP); // TODO: non-'.' abbreviations int nn = ustrs[i].indexOf(kFULLSTOP); // TODO: non-'.' abbreviations
if(nn>-1 && (nn+1)!=ustrs[i].length()) { if(nn>-1 && (nn+1)!=ustrs[i].length()) {
FB_TRACE("partial",&ustrs[i],FALSE,i); FB_TRACE("partial",&ustrs[i],false,i);
// is partial. // is partial.
// is it unique? // is it unique?
int sameAs = -1; int sameAs = -1;
for(int j=0;j<subCount;j++) { for(int j=0;j<subCount;j++) {
if(j==i) continue; if(j==i) continue;
if(ustrs[i].compare(0,nn+1,ustrs[j],0,nn+1)==0) { if(ustrs[i].compare(0,nn+1,ustrs[j],0,nn+1)==0) {
FB_TRACE("prefix",&ustrs[j],FALSE,nn+1); FB_TRACE("prefix",&ustrs[j],false,nn+1);
//UBool otherIsPartial = ((nn+1)!=ustrs[j].length()); // true if ustrs[j] doesn't end at nn //UBool otherIsPartial = ((nn+1)!=ustrs[j].length()); // true if ustrs[j] doesn't end at nn
if(partials[j]==0) { // hasn't been processed yet if(partials[j]==0) { // hasn't been processed yet
partials[j] = kSuppressInReverse | kAddToForward; partials[j] = kSuppressInReverse | kAddToForward;
FB_TRACE("suppressing",&ustrs[j],FALSE,j); FB_TRACE("suppressing",&ustrs[j],false,j);
} else if(partials[j] & kSuppressInReverse) { } else if(partials[j] & kSuppressInReverse) {
sameAs = j; // the other entry is already in the reverse table. sameAs = j; // the other entry is already in the reverse table.
} }
} }
} }
FB_TRACE("for partial same-",&ustrs[i],FALSE,sameAs); FB_TRACE("for partial same-",&ustrs[i],false,sameAs);
FB_TRACE(" == partial #",&ustrs[i],FALSE,partials[i]); FB_TRACE(" == partial #",&ustrs[i],false,partials[i]);
UnicodeString prefix(ustrs[i], 0, nn+1); UnicodeString prefix(ustrs[i], 0, nn+1);
if(sameAs == -1 && partials[i] == 0) { if(sameAs == -1 && partials[i] == 0) {
// first one - add the prefix to the reverse table. // first one - add the prefix to the reverse table.
prefix.reverse(); prefix.reverse();
builder->add(prefix, kPARTIAL, status); builder->add(prefix, kPARTIAL, status);
revCount++; revCount++;
FB_TRACE("Added partial",&prefix,FALSE, i); FB_TRACE("Added partial",&prefix,false, i);
FB_TRACE(u_errorName(status),&ustrs[i],FALSE,i); FB_TRACE(u_errorName(status),&ustrs[i],false,i);
partials[i] = kSuppressInReverse | kAddToForward; partials[i] = kSuppressInReverse | kAddToForward;
} else { } else {
FB_TRACE("NOT adding partial",&prefix,FALSE, i); FB_TRACE("NOT adding partial",&prefix,false, i);
FB_TRACE(u_errorName(status),&ustrs[i],FALSE,i); FB_TRACE(u_errorName(status),&ustrs[i],false,i);
} }
} }
} }
@ -668,9 +668,9 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
ustrs[i].reverse(); ustrs[i].reverse();
builder->add(ustrs[i], kMATCH, status); builder->add(ustrs[i], kMATCH, status);
revCount++; revCount++;
FB_TRACE(u_errorName(status), &ustrs[i], FALSE, i); FB_TRACE(u_errorName(status), &ustrs[i], false, i);
} else { } else {
FB_TRACE("Adding fwd",&ustrs[i], FALSE, i); FB_TRACE("Adding fwd",&ustrs[i], false, i);
// an optimization would be to only add the portion after the '.' // an optimization would be to only add the portion after the '.'
// for example, for "Ph.D." we store ".hP" in the reverse table. We could just store "D." in the forward, // for example, for "Ph.D." we store ".hP" in the reverse table. We could just store "D." in the forward,
@ -682,12 +682,12 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
////if(debug2) u_printf("SUPPRESS- not Added(%d): /%S/ status=%s\n",partials[i], ustrs[i].getTerminatedBuffer(), u_errorName(status)); ////if(debug2) u_printf("SUPPRESS- not Added(%d): /%S/ status=%s\n",partials[i], ustrs[i].getTerminatedBuffer(), u_errorName(status));
} }
} }
FB_TRACE("AbbrCount",NULL,FALSE, subCount); FB_TRACE("AbbrCount",NULL,false, subCount);
if(revCount>0) { if(revCount>0) {
backwardsTrie.adoptInstead(builder->build(USTRINGTRIE_BUILD_FAST, status)); backwardsTrie.adoptInstead(builder->build(USTRINGTRIE_BUILD_FAST, status));
if(U_FAILURE(status)) { if(U_FAILURE(status)) {
FB_TRACE(u_errorName(status),NULL,FALSE, -1); FB_TRACE(u_errorName(status),NULL,false, -1);
return NULL; return NULL;
} }
} }
@ -695,7 +695,7 @@ SimpleFilteredBreakIteratorBuilder::build(BreakIterator* adoptBreakIterator, UEr
if(fwdCount>0) { if(fwdCount>0) {
forwardsPartialTrie.adoptInstead(builder2->build(USTRINGTRIE_BUILD_FAST, status)); forwardsPartialTrie.adoptInstead(builder2->build(USTRINGTRIE_BUILD_FAST, status));
if(U_FAILURE(status)) { if(U_FAILURE(status)) {
FB_TRACE(u_errorName(status),NULL,FALSE, -1); FB_TRACE(u_errorName(status),NULL,false, -1);
return NULL; return NULL;
} }
} }

View File

@ -137,14 +137,14 @@ UnicodeString &
FilteredNormalizer2::normalizeSecondAndAppend(UnicodeString &first, FilteredNormalizer2::normalizeSecondAndAppend(UnicodeString &first,
const UnicodeString &second, const UnicodeString &second,
UErrorCode &errorCode) const { UErrorCode &errorCode) const {
return normalizeSecondAndAppend(first, second, TRUE, errorCode); return normalizeSecondAndAppend(first, second, true, errorCode);
} }
UnicodeString & UnicodeString &
FilteredNormalizer2::append(UnicodeString &first, FilteredNormalizer2::append(UnicodeString &first,
const UnicodeString &second, const UnicodeString &second,
UErrorCode &errorCode) const { UErrorCode &errorCode) const {
return normalizeSecondAndAppend(first, second, FALSE, errorCode); return normalizeSecondAndAppend(first, second, false, errorCode);
} }
UnicodeString & UnicodeString &
@ -224,7 +224,7 @@ UBool
FilteredNormalizer2::isNormalized(const UnicodeString &s, UErrorCode &errorCode) const { FilteredNormalizer2::isNormalized(const UnicodeString &s, UErrorCode &errorCode) const {
uprv_checkCanGetBuffer(s, errorCode); uprv_checkCanGetBuffer(s, errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
USetSpanCondition spanCondition=USET_SPAN_SIMPLE; USetSpanCondition spanCondition=USET_SPAN_SIMPLE;
for(int32_t prevSpanLimit=0; prevSpanLimit<s.length();) { for(int32_t prevSpanLimit=0; prevSpanLimit<s.length();) {
@ -235,19 +235,19 @@ FilteredNormalizer2::isNormalized(const UnicodeString &s, UErrorCode &errorCode)
if( !norm2.isNormalized(s.tempSubStringBetween(prevSpanLimit, spanLimit), errorCode) || if( !norm2.isNormalized(s.tempSubStringBetween(prevSpanLimit, spanLimit), errorCode) ||
U_FAILURE(errorCode) U_FAILURE(errorCode)
) { ) {
return FALSE; return false;
} }
spanCondition=USET_SPAN_NOT_CONTAINED; spanCondition=USET_SPAN_NOT_CONTAINED;
} }
prevSpanLimit=spanLimit; prevSpanLimit=spanLimit;
} }
return TRUE; return true;
} }
UBool UBool
FilteredNormalizer2::isNormalizedUTF8(StringPiece sp, UErrorCode &errorCode) const { FilteredNormalizer2::isNormalizedUTF8(StringPiece sp, UErrorCode &errorCode) const {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
const char *s = sp.data(); const char *s = sp.data();
int32_t length = sp.length(); int32_t length = sp.length();
@ -259,14 +259,14 @@ FilteredNormalizer2::isNormalizedUTF8(StringPiece sp, UErrorCode &errorCode) con
} else { } else {
if (!norm2.isNormalizedUTF8(StringPiece(s, spanLength), errorCode) || if (!norm2.isNormalizedUTF8(StringPiece(s, spanLength), errorCode) ||
U_FAILURE(errorCode)) { U_FAILURE(errorCode)) {
return FALSE; return false;
} }
spanCondition = USET_SPAN_NOT_CONTAINED; spanCondition = USET_SPAN_NOT_CONTAINED;
} }
s += spanLength; s += spanLength;
length -= spanLength; length -= spanLength;
} }
return TRUE; return true;
} }
UNormalizationCheckResult UNormalizationCheckResult

View File

@ -115,8 +115,8 @@ public:
inline UBool equals(const Hashtable& that) const; inline UBool equals(const Hashtable& that) const;
private: private:
Hashtable(const Hashtable &other); // forbid copying of this class Hashtable(const Hashtable &other) = delete; // forbid copying of this class
Hashtable &operator=(const Hashtable &other); // forbid copying of this class Hashtable &operator=(const Hashtable &other) = delete; // forbid copying of this class
}; };
/********************************************************************* /*********************************************************************

View File

@ -59,8 +59,8 @@ struct UPlugData {
void *context; /**< user context data */ void *context; /**< user context data */
char name[UPLUG_NAME_MAX]; /**< name of plugin */ char name[UPLUG_NAME_MAX]; /**< name of plugin */
UPlugLevel level; /**< level of plugin */ UPlugLevel level; /**< level of plugin */
UBool awaitingLoad; /**< TRUE if the plugin is awaiting a load call */ UBool awaitingLoad; /**< true if the plugin is awaiting a load call */
UBool dontUnload; /**< TRUE if plugin must stay resident (leak plugin and lib) */ UBool dontUnload; /**< true if plugin must stay resident (leak plugin and lib) */
UErrorCode pluginStatus; /**< status code of plugin */ UErrorCode pluginStatus; /**< status code of plugin */
}; };
@ -304,11 +304,11 @@ static void uplug_queryPlug(UPlugData *plug, UErrorCode *status) {
if(U_SUCCESS(*status)) { if(U_SUCCESS(*status)) {
if(plug->level == UPLUG_LEVEL_INVALID) { if(plug->level == UPLUG_LEVEL_INVALID) {
plug->pluginStatus = U_PLUGIN_DIDNT_SET_LEVEL; plug->pluginStatus = U_PLUGIN_DIDNT_SET_LEVEL;
plug->awaitingLoad = FALSE; plug->awaitingLoad = false;
} }
} else { } else {
plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR; plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR;
plug->awaitingLoad = FALSE; plug->awaitingLoad = false;
} }
} }
@ -322,7 +322,7 @@ static void uplug_loadPlug(UPlugData *plug, UErrorCode *status) {
return; return;
} }
uplug_callPlug(plug, UPLUG_REASON_LOAD, status); uplug_callPlug(plug, UPLUG_REASON_LOAD, status);
plug->awaitingLoad = FALSE; plug->awaitingLoad = false;
if(!U_SUCCESS(*status)) { if(!U_SUCCESS(*status)) {
plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR; plug->pluginStatus = U_INTERNAL_PROGRAM_ERROR;
} }
@ -347,8 +347,8 @@ static UPlugData *uplug_allocateEmptyPlug(UErrorCode *status)
plug->structSize = sizeof(UPlugData); plug->structSize = sizeof(UPlugData);
plug->name[0]=0; plug->name[0]=0;
plug->level = UPLUG_LEVEL_UNKNOWN; /* initialize to null state */ plug->level = UPLUG_LEVEL_UNKNOWN; /* initialize to null state */
plug->awaitingLoad = TRUE; plug->awaitingLoad = true;
plug->dontUnload = FALSE; plug->dontUnload = false;
plug->pluginStatus = U_ZERO_ERROR; plug->pluginStatus = U_ZERO_ERROR;
plug->libName[0] = 0; plug->libName[0] = 0;
plug->config[0]=0; plug->config[0]=0;
@ -403,9 +403,9 @@ static void uplug_deallocatePlug(UPlugData *plug, UErrorCode *status) {
pluginCount = uplug_removeEntryAt(pluginList, pluginCount, sizeof(plug[0]), uplug_pluginNumber(plug)); pluginCount = uplug_removeEntryAt(pluginList, pluginCount, sizeof(plug[0]), uplug_pluginNumber(plug));
} else { } else {
/* not ok- leave as a message. */ /* not ok- leave as a message. */
plug->awaitingLoad=FALSE; plug->awaitingLoad=false;
plug->entrypoint=0; plug->entrypoint=0;
plug->dontUnload=TRUE; plug->dontUnload=true;
} }
} }
@ -558,8 +558,8 @@ uplug_initErrorPlug(const char *libName, const char *sym, const char *config, co
if(U_FAILURE(*status)) return NULL; if(U_FAILURE(*status)) return NULL;
plug->pluginStatus = loadStatus; plug->pluginStatus = loadStatus;
plug->awaitingLoad = FALSE; /* Won't load. */ plug->awaitingLoad = false; /* Won't load. */
plug->dontUnload = TRUE; /* cannot unload. */ plug->dontUnload = true; /* cannot unload. */
if(sym!=NULL) { if(sym!=NULL) {
uprv_strncpy(plug->sym, sym, UPLUG_NAME_MAX); uprv_strncpy(plug->sym, sym, UPLUG_NAME_MAX);
@ -646,7 +646,7 @@ static UBool U_CALLCONV uplug_cleanup(void)
} }
/* close other held libs? */ /* close other held libs? */
gCurrentLevel = UPLUG_LEVEL_LOW; gCurrentLevel = UPLUG_LEVEL_LOW;
return TRUE; return true;
} }
#if U_ENABLE_DYLOAD #if U_ENABLE_DYLOAD
@ -678,7 +678,7 @@ static void uplug_loadWaitingPlugs(UErrorCode *status) {
currentLevel = newLevel; currentLevel = newLevel;
} }
} }
pluginToLoad->awaitingLoad = FALSE; pluginToLoad->awaitingLoad = false;
} }
} }
} }
@ -694,7 +694,7 @@ static void uplug_loadWaitingPlugs(UErrorCode *status) {
} else { } else {
uplug_loadPlug(pluginToLoad, &subStatus); uplug_loadPlug(pluginToLoad, &subStatus);
} }
pluginToLoad->awaitingLoad = FALSE; pluginToLoad->awaitingLoad = false;
} }
} }

View File

@ -67,9 +67,9 @@ LoadedNormalizer2Impl::isAcceptable(void * /*context*/,
) { ) {
// Normalizer2Impl *me=(Normalizer2Impl *)context; // Normalizer2Impl *me=(Normalizer2Impl *)context;
// uprv_memcpy(me->dataVersion, pInfo->dataVersion, 4); // uprv_memcpy(me->dataVersion, pInfo->dataVersion, 4);
return TRUE; return true;
} else { } else {
return FALSE; return false;
} }
} }
@ -134,14 +134,14 @@ U_CDECL_END
#if !NORM2_HARDCODE_NFC_DATA #if !NORM2_HARDCODE_NFC_DATA
static Norm2AllModes *nfcSingleton; static Norm2AllModes *nfcSingleton;
static icu::UInitOnce nfcInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce nfcInitOnce {};
#endif #endif
static Norm2AllModes *nfkcSingleton; static Norm2AllModes *nfkcSingleton;
static icu::UInitOnce nfkcInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce nfkcInitOnce {};
static Norm2AllModes *nfkc_cfSingleton; static Norm2AllModes *nfkc_cfSingleton;
static icu::UInitOnce nfkc_cfInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce nfkc_cfInitOnce {};
static UHashtable *cache=NULL; static UHashtable *cache=NULL;
@ -185,7 +185,7 @@ static UBool U_CALLCONV uprv_loaded_normalizer2_cleanup() {
uhash_close(cache); uhash_close(cache);
cache=NULL; cache=NULL;
return TRUE; return true;
} }
U_CDECL_END U_CDECL_END

View File

@ -15,7 +15,7 @@ U_NAMESPACE_BEGIN
#define UPRV_ISDIGIT(c) (((c) >= '0') && ((c) <= '9')) #define UPRV_ISDIGIT(c) (((c) >= '0') && ((c) <= '9'))
#define UPRV_ISALPHANUM(c) (uprv_isASCIILetter(c) || UPRV_ISDIGIT(c) ) #define UPRV_ISALPHANUM(c) (uprv_isASCIILetter(c) || UPRV_ISDIGIT(c) )
const char* kAttributeKey = "attribute"; constexpr const char* kAttributeKey = "attribute";
static bool _isExtensionSubtags(char key, const char* s, int32_t len) { static bool _isExtensionSubtags(char key, const char* s, int32_t len) {
switch (uprv_tolower(key)) { switch (uprv_tolower(key)) {
@ -459,7 +459,7 @@ Locale LocaleBuilder::build(UErrorCode& errorCode)
UBool LocaleBuilder::copyErrorTo(UErrorCode &outErrorCode) const { UBool LocaleBuilder::copyErrorTo(UErrorCode &outErrorCode) const {
if (U_FAILURE(outErrorCode)) { if (U_FAILURE(outErrorCode)) {
// Do not overwrite the older error code // Do not overwrite the older error code
return TRUE; return true;
} }
outErrorCode = status_; outErrorCode = status_;
return U_FAILURE(outErrorCode); return U_FAILURE(outErrorCode);

View File

@ -0,0 +1,632 @@
// © 2022 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
//
// Internal static data tables used by uresbund.cpp
// WARNING: This file is mechanically generated by the CLDR-to-ICU tool
// (see tools/cldr/cldr-to-icu/src/main/java/org/unicode/tool/cldrtoicu/generator/ResourcFallbackCodeGenerator.java).
// DO NOT HAND EDIT!!!
#ifdef INCLUDED_FROM_URESBUND_CPP
//======================================================================
// Default script table
const char scriptCodeChars[] =
"Aghb\0Ahom\0Arab\0Armi\0Armn\0Avst\0Bamu\0Bass\0Beng\0Brah\0Cakm\0"
"Cans\0Cari\0Cham\0Cher\0Chrs\0Copt\0Cprt\0Cyrl\0Deva\0Egyp\0Ethi\0"
"Geor\0Gong\0Gonm\0Goth\0Grek\0Gujr\0Guru\0Hans\0Hant\0Hebr\0Hluw\0"
"Hmnp\0Ital\0Jpan\0Kali\0Kana\0Kawi\0Khar\0Khmr\0Kits\0Knda\0Kore\0"
"Lana\0Laoo\0Lepc\0Lina\0Lisu\0Lyci\0Lydi\0Mand\0Mani\0Medf\0Merc\0"
"Mlym\0Mong\0Mroo\0Mymr\0Narb\0Nkoo\0Nshu\0Ogam\0Olck\0Orkh\0Orya\0"
"Osge\0Ougr\0Pauc\0Phli\0Phnx\0Plrd\0Prti\0Rohg\0Runr\0Samr\0Sarb\0"
"Saur\0Sgnw\0Sinh\0Sogd\0Sora\0Soyo\0Syrc\0Tale\0Talu\0Taml\0Tang\0"
"Tavt\0Telu\0Tfng\0Thaa\0Thai\0Tibt\0Tnsa\0Toto\0Ugar\0Vaii\0Wcho\0"
"Xpeo\0Xsux\0Yiii\0";
const char dsLocaleIDChars[] =
"ab\0abq\0adp\0ady\0ae\0aeb\0aho\0ajt\0akk\0alt\0am\0apc\0apd\0"
"ar\0arc\0arq\0ars\0ary\0arz\0as\0ase\0av\0avl\0awa\0az_IQ\0az_IR\0"
"az_RU\0ba\0bal\0bap\0bax\0bcq\0be\0bej\0bfq\0bft\0bfy\0bg\0bgc\0"
"bgn\0bgx\0bhb\0bhi\0bho\0bji\0bjj\0blt\0bn\0bo\0bpy\0bqi\0bra\0"
"brh\0brx\0bsq\0bst\0btv\0bua\0byn\0ccp\0ce\0chm\0chr\0cja\0cjm\0"
"ckb\0cmg\0cop\0cr\0crh\0crk\0crl\0csw\0ctd\0cu\0cv\0dar\0dcc\0"
"dgl\0dmf\0doi\0drh\0drs\0dty\0dv\0dz\0egy\0eky\0el\0esg\0ett\0"
"fa\0fia\0fub\0gan\0gbm\0gbz\0gez\0ggn\0gjk\0gju\0glk\0gmv\0gof\0"
"gom\0gon\0got\0grc\0grt\0gu\0gvr\0gwc\0gwt\0ha_CM\0ha_SD\0hak\0"
"haz\0hdy\0he\0hi\0hlu\0hmd\0hnd\0hne\0hnj\0hno\0hoc\0hoj\0hsn\0"
"hy\0ii\0inh\0iu\0iw\0ja\0ji\0jml\0ka\0kaa\0kaw\0kbd\0kby\0kdt\0"
"kfr\0kfy\0khb\0khn\0kht\0khw\0kjg\0kk\0kk_AF\0kk_CN\0kk_IR\0kk_MN\0"
"km\0kn\0ko\0koi\0kok\0kqy\0krc\0kru\0ks\0ktb\0ku_LB\0kum\0kv\0"
"kvx\0kxc\0kxl\0kxm\0kxp\0ky\0ky_CN\0kzh\0lab\0lad\0lah\0lbe\0"
"lcp\0lep\0lez\0lif\0lis\0lki\0lmn\0lo\0lrc\0luz\0lwl\0lzh\0mag\0"
"mai\0man_GN\0mde\0mdf\0mdx\0mfa\0mgp\0mk\0mki\0ml\0mn\0mn_CN\0"
"mni\0mnw\0mr\0mrd\0mrj\0mro\0ms_CC\0mtr\0mvy\0mwr\0mww\0my\0mym\0"
"myv\0myz\0mzn\0nan\0ne\0new\0nnp\0nod\0noe\0non\0nqo\0nsk\0nst\0"
"oj\0ojs\0or\0oru\0os\0osa\0ota\0otk\0oui\0pa\0pa_PK\0pal\0peo\0"
"phl\0phn\0pka\0pnt\0ppa\0pra\0prd\0ps\0raj\0rhg\0rif\0rjs\0rkt\0"
"rmt\0ru\0rue\0ryu\0sa\0sah\0sat\0saz\0sck\0scl\0sd\0sd_IN\0sdh\0"
"sga\0sgw\0shi\0shn\0shu\0si\0skr\0smp\0sog\0sou\0sr\0srb\0srx\0"
"swb\0swv\0syl\0syr\0ta\0taj\0tcy\0tdd\0tdg\0tdh\0te\0tg\0tg_PK\0"
"th\0thl\0thq\0thr\0ti\0tig\0tkt\0trw\0tsd\0tsf\0tsj\0tt\0tts\0"
"txg\0txo\0tyv\0udi\0udm\0ug\0ug_KZ\0ug_MN\0uga\0uk\0unr\0unr_NP\0"
"unx\0ur\0uz_AF\0uz_CN\0vai\0wal\0wbq\0wbr\0wni\0wsg\0wtm\0wuu\0"
"xco\0xcr\0xlc\0xld\0xmf\0xmn\0xmr\0xna\0xnr\0xpr\0xsa\0xsr\0yi\0"
"yue\0yue_CN\0zdj\0zgh\0zh\0zh_AU\0zh_BN\0zh_GB\0zh_GF\0zh_HK\0"
"zh_ID\0zh_MO\0zh_PA\0zh_PF\0zh_PH\0zh_SR\0zh_TH\0zh_TW\0zh_US\0"
"zh_VN\0zhx\0zkt\0";
const int32_t defaultScriptTable[] = {
0, 90, // ab -> Cyrl
3, 90, // abq -> Cyrl
7, 465, // adp -> Tibt
11, 90, // ady -> Cyrl
15, 25, // ae -> Avst
18, 10, // aeb -> Arab
22, 5, // aho -> Ahom
26, 10, // ajt -> Arab
30, 500, // akk -> Xsux
34, 90, // alt -> Cyrl
38, 105, // am -> Ethi
41, 10, // apc -> Arab
45, 10, // apd -> Arab
49, 10, // ar -> Arab
52, 15, // arc -> Armi
56, 10, // arq -> Arab
60, 10, // ars -> Arab
64, 10, // ary -> Arab
68, 10, // arz -> Arab
72, 40, // as -> Beng
75, 390, // ase -> Sgnw
79, 90, // av -> Cyrl
82, 10, // avl -> Arab
86, 95, // awa -> Deva
90, 10, // az_IQ -> Arab
96, 10, // az_IR -> Arab
102, 90, // az_RU -> Cyrl
108, 90, // ba -> Cyrl
111, 10, // bal -> Arab
115, 95, // bap -> Deva
119, 30, // bax -> Bamu
123, 105, // bcq -> Ethi
127, 90, // be -> Cyrl
130, 10, // bej -> Arab
134, 430, // bfq -> Taml
138, 10, // bft -> Arab
142, 95, // bfy -> Deva
146, 90, // bg -> Cyrl
149, 95, // bgc -> Deva
153, 10, // bgn -> Arab
157, 130, // bgx -> Grek
161, 95, // bhb -> Deva
165, 95, // bhi -> Deva
169, 95, // bho -> Deva
173, 105, // bji -> Ethi
177, 95, // bjj -> Deva
181, 440, // blt -> Tavt
185, 40, // bn -> Beng
188, 465, // bo -> Tibt
191, 40, // bpy -> Beng
195, 10, // bqi -> Arab
199, 95, // bra -> Deva
203, 10, // brh -> Arab
207, 95, // brx -> Deva
211, 35, // bsq -> Bass
215, 105, // bst -> Ethi
219, 95, // btv -> Deva
223, 90, // bua -> Cyrl
227, 105, // byn -> Ethi
231, 50, // ccp -> Cakm
235, 90, // ce -> Cyrl
238, 90, // chm -> Cyrl
242, 70, // chr -> Cher
246, 10, // cja -> Arab
250, 65, // cjm -> Cham
254, 10, // ckb -> Arab
258, 410, // cmg -> Soyo
262, 80, // cop -> Copt
266, 55, // cr -> Cans
269, 90, // crh -> Cyrl
273, 55, // crk -> Cans
277, 55, // crl -> Cans
281, 55, // csw -> Cans
285, 340, // ctd -> Pauc
289, 90, // cu -> Cyrl
292, 90, // cv -> Cyrl
295, 90, // dar -> Cyrl
299, 10, // dcc -> Arab
303, 10, // dgl -> Arab
307, 265, // dmf -> Medf
311, 95, // doi -> Deva
315, 280, // drh -> Mong
319, 105, // drs -> Ethi
323, 95, // dty -> Deva
327, 455, // dv -> Thaa
330, 465, // dz -> Tibt
333, 100, // egy -> Egyp
337, 180, // eky -> Kali
341, 130, // el -> Grek
344, 120, // esg -> Gonm
348, 170, // ett -> Ital
352, 10, // fa -> Arab
355, 10, // fia -> Arab
359, 10, // fub -> Arab
363, 145, // gan -> Hans
367, 95, // gbm -> Deva
371, 10, // gbz -> Arab
375, 105, // gez -> Ethi
379, 95, // ggn -> Deva
383, 10, // gjk -> Arab
387, 10, // gju -> Arab
391, 10, // glk -> Arab
395, 105, // gmv -> Ethi
399, 105, // gof -> Ethi
403, 95, // gom -> Deva
407, 445, // gon -> Telu
411, 125, // got -> Goth
415, 85, // grc -> Cprt
419, 40, // grt -> Beng
423, 135, // gu -> Gujr
426, 95, // gvr -> Deva
430, 10, // gwc -> Arab
434, 10, // gwt -> Arab
438, 10, // ha_CM -> Arab
444, 10, // ha_SD -> Arab
450, 145, // hak -> Hans
454, 10, // haz -> Arab
458, 105, // hdy -> Ethi
462, 155, // he -> Hebr
465, 95, // hi -> Deva
468, 160, // hlu -> Hluw
472, 355, // hmd -> Plrd
476, 10, // hnd -> Arab
480, 95, // hne -> Deva
484, 165, // hnj -> Hmnp
488, 10, // hno -> Arab
492, 95, // hoc -> Deva
496, 95, // hoj -> Deva
500, 145, // hsn -> Hans
504, 20, // hy -> Armn
507, 505, // ii -> Yiii
510, 90, // inh -> Cyrl
514, 55, // iu -> Cans
517, 155, // iw -> Hebr
520, 175, // ja -> Jpan
523, 155, // ji -> Hebr
526, 95, // jml -> Deva
530, 110, // ka -> Geor
533, 90, // kaa -> Cyrl
537, 190, // kaw -> Kawi
541, 90, // kbd -> Cyrl
545, 10, // kby -> Arab
549, 460, // kdt -> Thai
553, 95, // kfr -> Deva
557, 95, // kfy -> Deva
561, 425, // khb -> Talu
565, 95, // khn -> Deva
569, 290, // kht -> Mymr
573, 10, // khw -> Arab
577, 225, // kjg -> Laoo
581, 90, // kk -> Cyrl
584, 10, // kk_AF -> Arab
590, 10, // kk_CN -> Arab
596, 10, // kk_IR -> Arab
602, 10, // kk_MN -> Arab
608, 200, // km -> Khmr
611, 210, // kn -> Knda
614, 215, // ko -> Kore
617, 90, // koi -> Cyrl
621, 95, // kok -> Deva
625, 105, // kqy -> Ethi
629, 90, // krc -> Cyrl
633, 95, // kru -> Deva
637, 10, // ks -> Arab
640, 105, // ktb -> Ethi
644, 10, // ku_LB -> Arab
650, 90, // kum -> Cyrl
654, 90, // kv -> Cyrl
657, 10, // kvx -> Arab
661, 105, // kxc -> Ethi
665, 95, // kxl -> Deva
669, 460, // kxm -> Thai
673, 10, // kxp -> Arab
677, 90, // ky -> Cyrl
680, 10, // ky_CN -> Arab
686, 10, // kzh -> Arab
690, 235, // lab -> Lina
694, 155, // lad -> Hebr
698, 10, // lah -> Arab
702, 90, // lbe -> Cyrl
706, 460, // lcp -> Thai
710, 230, // lep -> Lepc
714, 90, // lez -> Cyrl
718, 95, // lif -> Deva
722, 240, // lis -> Lisu
726, 10, // lki -> Arab
730, 445, // lmn -> Telu
734, 225, // lo -> Laoo
737, 10, // lrc -> Arab
741, 10, // luz -> Arab
745, 460, // lwl -> Thai
749, 145, // lzh -> Hans
753, 95, // mag -> Deva
757, 95, // mai -> Deva
761, 300, // man_GN -> Nkoo
768, 10, // mde -> Arab
772, 90, // mdf -> Cyrl
776, 105, // mdx -> Ethi
780, 10, // mfa -> Arab
784, 95, // mgp -> Deva
788, 90, // mk -> Cyrl
791, 10, // mki -> Arab
795, 275, // ml -> Mlym
798, 90, // mn -> Cyrl
801, 280, // mn_CN -> Mong
807, 40, // mni -> Beng
811, 290, // mnw -> Mymr
815, 95, // mr -> Deva
818, 95, // mrd -> Deva
822, 90, // mrj -> Cyrl
826, 285, // mro -> Mroo
830, 10, // ms_CC -> Arab
836, 95, // mtr -> Deva
840, 10, // mvy -> Arab
844, 95, // mwr -> Deva
848, 165, // mww -> Hmnp
852, 290, // my -> Mymr
855, 105, // mym -> Ethi
859, 90, // myv -> Cyrl
863, 255, // myz -> Mand
867, 10, // mzn -> Arab
871, 145, // nan -> Hans
875, 95, // ne -> Deva
878, 95, // new -> Deva
882, 490, // nnp -> Wcho
886, 220, // nod -> Lana
890, 95, // noe -> Deva
894, 370, // non -> Runr
898, 300, // nqo -> Nkoo
902, 55, // nsk -> Cans
906, 470, // nst -> Tnsa
910, 55, // oj -> Cans
913, 55, // ojs -> Cans
917, 325, // or -> Orya
920, 10, // oru -> Arab
924, 90, // os -> Cyrl
927, 330, // osa -> Osge
931, 10, // ota -> Arab
935, 320, // otk -> Orkh
939, 335, // oui -> Ougr
943, 140, // pa -> Guru
946, 10, // pa_PK -> Arab
952, 345, // pal -> Phli
956, 495, // peo -> Xpeo
960, 10, // phl -> Arab
964, 350, // phn -> Phnx
968, 45, // pka -> Brah
972, 130, // pnt -> Grek
976, 95, // ppa -> Deva
980, 195, // pra -> Khar
984, 10, // prd -> Arab
988, 10, // ps -> Arab
991, 95, // raj -> Deva
995, 365, // rhg -> Rohg
999, 450, // rif -> Tfng
1003, 95, // rjs -> Deva
1007, 40, // rkt -> Beng
1011, 10, // rmt -> Arab
1015, 90, // ru -> Cyrl
1018, 90, // rue -> Cyrl
1022, 185, // ryu -> Kana
1026, 95, // sa -> Deva
1029, 90, // sah -> Cyrl
1033, 315, // sat -> Olck
1037, 385, // saz -> Saur
1041, 95, // sck -> Deva
1045, 10, // scl -> Arab
1049, 10, // sd -> Arab
1052, 95, // sd_IN -> Deva
1058, 10, // sdh -> Arab
1062, 310, // sga -> Ogam
1066, 105, // sgw -> Ethi
1070, 450, // shi -> Tfng
1074, 290, // shn -> Mymr
1078, 10, // shu -> Arab
1082, 395, // si -> Sinh
1085, 10, // skr -> Arab
1089, 375, // smp -> Samr
1093, 400, // sog -> Sogd
1097, 460, // sou -> Thai
1101, 90, // sr -> Cyrl
1104, 405, // srb -> Sora
1108, 95, // srx -> Deva
1112, 10, // swb -> Arab
1116, 95, // swv -> Deva
1120, 40, // syl -> Beng
1124, 415, // syr -> Syrc
1128, 430, // ta -> Taml
1131, 95, // taj -> Deva
1135, 210, // tcy -> Knda
1139, 420, // tdd -> Tale
1143, 95, // tdg -> Deva
1147, 95, // tdh -> Deva
1151, 445, // te -> Telu
1154, 90, // tg -> Cyrl
1157, 10, // tg_PK -> Arab
1163, 460, // th -> Thai
1166, 95, // thl -> Deva
1170, 95, // thq -> Deva
1174, 95, // thr -> Deva
1178, 105, // ti -> Ethi
1181, 105, // tig -> Ethi
1185, 95, // tkt -> Deva
1189, 10, // trw -> Arab
1193, 130, // tsd -> Grek
1197, 95, // tsf -> Deva
1201, 465, // tsj -> Tibt
1205, 90, // tt -> Cyrl
1208, 460, // tts -> Thai
1212, 435, // txg -> Tang
1216, 475, // txo -> Toto
1220, 90, // tyv -> Cyrl
1224, 0, // udi -> Aghb
1228, 90, // udm -> Cyrl
1232, 10, // ug -> Arab
1235, 90, // ug_KZ -> Cyrl
1241, 90, // ug_MN -> Cyrl
1247, 480, // uga -> Ugar
1251, 90, // uk -> Cyrl
1254, 40, // unr -> Beng
1258, 95, // unr_NP -> Deva
1265, 40, // unx -> Beng
1269, 10, // ur -> Arab
1272, 10, // uz_AF -> Arab
1278, 90, // uz_CN -> Cyrl
1284, 485, // vai -> Vaii
1288, 105, // wal -> Ethi
1292, 445, // wbq -> Telu
1296, 95, // wbr -> Deva
1300, 10, // wni -> Arab
1304, 115, // wsg -> Gong
1308, 95, // wtm -> Deva
1312, 145, // wuu -> Hans
1316, 75, // xco -> Chrs
1320, 60, // xcr -> Cari
1324, 245, // xlc -> Lyci
1328, 250, // xld -> Lydi
1332, 110, // xmf -> Geor
1336, 260, // xmn -> Mani
1340, 270, // xmr -> Merc
1344, 295, // xna -> Narb
1348, 95, // xnr -> Deva
1352, 360, // xpr -> Prti
1356, 380, // xsa -> Sarb
1360, 95, // xsr -> Deva
1364, 155, // yi -> Hebr
1367, 150, // yue -> Hant
1371, 145, // yue_CN -> Hans
1378, 10, // zdj -> Arab
1382, 450, // zgh -> Tfng
1386, 145, // zh -> Hans
1389, 150, // zh_AU -> Hant
1395, 150, // zh_BN -> Hant
1401, 150, // zh_GB -> Hant
1407, 150, // zh_GF -> Hant
1413, 150, // zh_HK -> Hant
1419, 150, // zh_ID -> Hant
1425, 150, // zh_MO -> Hant
1431, 150, // zh_PA -> Hant
1437, 150, // zh_PF -> Hant
1443, 150, // zh_PH -> Hant
1449, 150, // zh_SR -> Hant
1455, 150, // zh_TH -> Hant
1461, 150, // zh_TW -> Hant
1467, 150, // zh_US -> Hant
1473, 150, // zh_VN -> Hant
1479, 305, // zhx -> Nshu
1483, 205, // zkt -> Kits
};
//======================================================================
// Parent locale table
const char parentLocaleChars[] =
"az_Arab\0az_Cyrl\0bal_Latn\0blt_Latn\0bm_Nkoo\0bs_Cyrl\0byn_Latn\0"
"cu_Glag\0dje_Arab\0dyo_Arab\0en_001\0en_150\0en_AG\0en_AI\0en_AT\0"
"en_AU\0en_BB\0en_BE\0en_BM\0en_BS\0en_BW\0en_BZ\0en_CC\0en_CH\0"
"en_CK\0en_CM\0en_CX\0en_CY\0en_DE\0en_DG\0en_DK\0en_DM\0en_Dsrt\0"
"en_ER\0en_FI\0en_FJ\0en_FK\0en_FM\0en_GB\0en_GD\0en_GG\0en_GH\0"
"en_GI\0en_GM\0en_GY\0en_HK\0en_IE\0en_IL\0en_IM\0en_IN\0en_IO\0"
"en_JE\0en_JM\0en_KE\0en_KI\0en_KN\0en_KY\0en_LC\0en_LR\0en_LS\0"
"en_MG\0en_MO\0en_MS\0en_MT\0en_MU\0en_MV\0en_MW\0en_MY\0en_NA\0"
"en_NF\0en_NG\0en_NL\0en_NR\0en_NU\0en_NZ\0en_PG\0en_PK\0en_PN\0"
"en_PW\0en_RW\0en_SB\0en_SC\0en_SD\0en_SE\0en_SG\0en_SH\0en_SI\0"
"en_SL\0en_SS\0en_SX\0en_SZ\0en_Shaw\0en_TC\0en_TK\0en_TO\0en_TT\0"
"en_TV\0en_TZ\0en_UG\0en_VC\0en_VG\0en_VU\0en_WS\0en_ZA\0en_ZM\0"
"en_ZW\0es_419\0es_AR\0es_BO\0es_BR\0es_BZ\0es_CL\0es_CO\0es_CR\0"
"es_CU\0es_DO\0es_EC\0es_GT\0es_HN\0es_MX\0es_NI\0es_PA\0es_PE\0"
"es_PR\0es_PY\0es_SV\0es_US\0es_UY\0es_VE\0ff_Adlm\0ff_Arab\0fr_HT\0"
"ha_Arab\0hi_Latn\0ht\0iu_Latn\0kk_Arab\0ks_Deva\0ku_Arab\0ky_Arab\0"
"ky_Latn\0ml_Arab\0mn_Mong\0mni_Mtei\0ms_Arab\0nb\0nn\0no\0pa_Arab\0"
"pt_AO\0pt_CH\0pt_CV\0pt_FR\0pt_GQ\0pt_GW\0pt_LU\0pt_MO\0pt_MZ\0"
"pt_PT\0pt_ST\0pt_TL\0root\0sat_Deva\0sd_Deva\0sd_Khoj\0sd_Sind\0"
"shi_Latn\0so_Arab\0sr_Latn\0sw_Arab\0tg_Arab\0ug_Cyrl\0uz_Arab\0"
"uz_Cyrl\0vai_Latn\0wo_Arab\0yo_Arab\0yue_Hans\0zh_Hant\0zh_Hant_HK\0"
"zh_Hant_MO\0";
const int32_t parentLocaleTable[] = {
0, 1017, // az_Arab -> root
8, 1017, // az_Cyrl -> root
16, 1017, // bal_Latn -> root
25, 1017, // blt_Latn -> root
34, 1017, // bm_Nkoo -> root
42, 1017, // bs_Cyrl -> root
50, 1017, // byn_Latn -> root
59, 1017, // cu_Glag -> root
67, 1017, // dje_Arab -> root
76, 1017, // dyo_Arab -> root
92, 85, // en_150 -> en_001
99, 85, // en_AG -> en_001
105, 85, // en_AI -> en_001
111, 92, // en_AT -> en_150
117, 85, // en_AU -> en_001
123, 85, // en_BB -> en_001
129, 92, // en_BE -> en_150
135, 85, // en_BM -> en_001
141, 85, // en_BS -> en_001
147, 85, // en_BW -> en_001
153, 85, // en_BZ -> en_001
159, 85, // en_CC -> en_001
165, 92, // en_CH -> en_150
171, 85, // en_CK -> en_001
177, 85, // en_CM -> en_001
183, 85, // en_CX -> en_001
189, 85, // en_CY -> en_001
195, 92, // en_DE -> en_150
201, 85, // en_DG -> en_001
207, 92, // en_DK -> en_150
213, 85, // en_DM -> en_001
219, 1017, // en_Dsrt -> root
227, 85, // en_ER -> en_001
233, 92, // en_FI -> en_150
239, 85, // en_FJ -> en_001
245, 85, // en_FK -> en_001
251, 85, // en_FM -> en_001
257, 85, // en_GB -> en_001
263, 85, // en_GD -> en_001
269, 85, // en_GG -> en_001
275, 85, // en_GH -> en_001
281, 85, // en_GI -> en_001
287, 85, // en_GM -> en_001
293, 85, // en_GY -> en_001
299, 85, // en_HK -> en_001
305, 85, // en_IE -> en_001
311, 85, // en_IL -> en_001
317, 85, // en_IM -> en_001
323, 85, // en_IN -> en_001
329, 85, // en_IO -> en_001
335, 85, // en_JE -> en_001
341, 85, // en_JM -> en_001
347, 85, // en_KE -> en_001
353, 85, // en_KI -> en_001
359, 85, // en_KN -> en_001
365, 85, // en_KY -> en_001
371, 85, // en_LC -> en_001
377, 85, // en_LR -> en_001
383, 85, // en_LS -> en_001
389, 85, // en_MG -> en_001
395, 85, // en_MO -> en_001
401, 85, // en_MS -> en_001
407, 85, // en_MT -> en_001
413, 85, // en_MU -> en_001
419, 85, // en_MV -> en_001
425, 85, // en_MW -> en_001
431, 85, // en_MY -> en_001
437, 85, // en_NA -> en_001
443, 85, // en_NF -> en_001
449, 85, // en_NG -> en_001
455, 92, // en_NL -> en_150
461, 85, // en_NR -> en_001
467, 85, // en_NU -> en_001
473, 85, // en_NZ -> en_001
479, 85, // en_PG -> en_001
485, 85, // en_PK -> en_001
491, 85, // en_PN -> en_001
497, 85, // en_PW -> en_001
503, 85, // en_RW -> en_001
509, 85, // en_SB -> en_001
515, 85, // en_SC -> en_001
521, 85, // en_SD -> en_001
527, 92, // en_SE -> en_150
533, 85, // en_SG -> en_001
539, 85, // en_SH -> en_001
545, 92, // en_SI -> en_150
551, 85, // en_SL -> en_001
557, 85, // en_SS -> en_001
563, 85, // en_SX -> en_001
569, 85, // en_SZ -> en_001
575, 1017, // en_Shaw -> root
583, 85, // en_TC -> en_001
589, 85, // en_TK -> en_001
595, 85, // en_TO -> en_001
601, 85, // en_TT -> en_001
607, 85, // en_TV -> en_001
613, 85, // en_TZ -> en_001
619, 85, // en_UG -> en_001
625, 85, // en_VC -> en_001
631, 85, // en_VG -> en_001
637, 85, // en_VU -> en_001
643, 85, // en_WS -> en_001
649, 85, // en_ZA -> en_001
655, 85, // en_ZM -> en_001
661, 85, // en_ZW -> en_001
674, 667, // es_AR -> es_419
680, 667, // es_BO -> es_419
686, 667, // es_BR -> es_419
692, 667, // es_BZ -> es_419
698, 667, // es_CL -> es_419
704, 667, // es_CO -> es_419
710, 667, // es_CR -> es_419
716, 667, // es_CU -> es_419
722, 667, // es_DO -> es_419
728, 667, // es_EC -> es_419
734, 667, // es_GT -> es_419
740, 667, // es_HN -> es_419
746, 667, // es_MX -> es_419
752, 667, // es_NI -> es_419
758, 667, // es_PA -> es_419
764, 667, // es_PE -> es_419
770, 667, // es_PR -> es_419
776, 667, // es_PY -> es_419
782, 667, // es_SV -> es_419
788, 667, // es_US -> es_419
794, 667, // es_UY -> es_419
800, 667, // es_VE -> es_419
806, 1017, // ff_Adlm -> root
814, 1017, // ff_Arab -> root
828, 1017, // ha_Arab -> root
836, 323, // hi_Latn -> en_IN
844, 822, // ht -> fr_HT
847, 1017, // iu_Latn -> root
855, 1017, // kk_Arab -> root
863, 1017, // ks_Deva -> root
871, 1017, // ku_Arab -> root
879, 1017, // ky_Arab -> root
887, 1017, // ky_Latn -> root
895, 1017, // ml_Arab -> root
903, 1017, // mn_Mong -> root
911, 1017, // mni_Mtei -> root
920, 1017, // ms_Arab -> root
928, 934, // nb -> no
931, 934, // nn -> no
937, 1017, // pa_Arab -> root
945, 999, // pt_AO -> pt_PT
951, 999, // pt_CH -> pt_PT
957, 999, // pt_CV -> pt_PT
963, 999, // pt_FR -> pt_PT
969, 999, // pt_GQ -> pt_PT
975, 999, // pt_GW -> pt_PT
981, 999, // pt_LU -> pt_PT
987, 999, // pt_MO -> pt_PT
993, 999, // pt_MZ -> pt_PT
1005, 999, // pt_ST -> pt_PT
1011, 999, // pt_TL -> pt_PT
1022, 1017, // sat_Deva -> root
1031, 1017, // sd_Deva -> root
1039, 1017, // sd_Khoj -> root
1047, 1017, // sd_Sind -> root
1055, 1017, // shi_Latn -> root
1064, 1017, // so_Arab -> root
1072, 1017, // sr_Latn -> root
1080, 1017, // sw_Arab -> root
1088, 1017, // tg_Arab -> root
1096, 1017, // ug_Cyrl -> root
1104, 1017, // uz_Arab -> root
1112, 1017, // uz_Cyrl -> root
1120, 1017, // vai_Latn -> root
1129, 1017, // wo_Arab -> root
1137, 1017, // yo_Arab -> root
1145, 1017, // yue_Hans -> root
1154, 1017, // zh_Hant -> root
1173, 1162, // zh_Hant_MO -> zh_Hant_HK
};
#endif // INCLUDED_FROM_URESBUND_CPP

View File

@ -60,7 +60,7 @@ LocaleMatcher::Result::Result(LocaleMatcher::Result &&src) U_NOEXCEPT :
if (desiredIsOwned) { if (desiredIsOwned) {
src.desiredLocale = nullptr; src.desiredLocale = nullptr;
src.desiredIndex = -1; src.desiredIndex = -1;
src.desiredIsOwned = FALSE; src.desiredIsOwned = false;
} }
} }
@ -82,7 +82,7 @@ LocaleMatcher::Result &LocaleMatcher::Result::operator=(LocaleMatcher::Result &&
if (desiredIsOwned) { if (desiredIsOwned) {
src.desiredLocale = nullptr; src.desiredLocale = nullptr;
src.desiredIndex = -1; src.desiredIndex = -1;
src.desiredIsOwned = FALSE; src.desiredIsOwned = false;
} }
return *this; return *this;
} }
@ -287,10 +287,10 @@ LocaleMatcher::Builder &LocaleMatcher::Builder::internalSetThresholdDistance(int
#endif #endif
UBool LocaleMatcher::Builder::copyErrorTo(UErrorCode &outErrorCode) const { UBool LocaleMatcher::Builder::copyErrorTo(UErrorCode &outErrorCode) const {
if (U_FAILURE(outErrorCode)) { return TRUE; } if (U_FAILURE(outErrorCode)) { return true; }
if (U_SUCCESS(errorCode_)) { return FALSE; } if (U_SUCCESS(errorCode_)) { return false; }
outErrorCode = errorCode_; outErrorCode = errorCode_;
return TRUE; return true;
} }
LocaleMatcher LocaleMatcher::Builder::build(UErrorCode &errorCode) const { LocaleMatcher LocaleMatcher::Builder::build(UErrorCode &errorCode) const {
@ -632,30 +632,30 @@ const Locale *LocaleMatcher::getBestMatchForListString(
LocaleMatcher::Result LocaleMatcher::getBestMatchResult( LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
const Locale &desiredLocale, UErrorCode &errorCode) const { const Locale &desiredLocale, UErrorCode &errorCode) const {
if (U_FAILURE(errorCode)) { if (U_FAILURE(errorCode)) {
return Result(nullptr, defaultLocale, -1, -1, FALSE); return Result(nullptr, defaultLocale, -1, -1, false);
} }
int32_t suppIndex = getBestSuppIndex( int32_t suppIndex = getBestSuppIndex(
getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode), getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode),
nullptr, errorCode); nullptr, errorCode);
if (U_FAILURE(errorCode) || suppIndex < 0) { if (U_FAILURE(errorCode) || suppIndex < 0) {
return Result(nullptr, defaultLocale, -1, -1, FALSE); return Result(nullptr, defaultLocale, -1, -1, false);
} else { } else {
return Result(&desiredLocale, supportedLocales[suppIndex], 0, suppIndex, FALSE); return Result(&desiredLocale, supportedLocales[suppIndex], 0, suppIndex, false);
} }
} }
LocaleMatcher::Result LocaleMatcher::getBestMatchResult( LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
Locale::Iterator &desiredLocales, UErrorCode &errorCode) const { Locale::Iterator &desiredLocales, UErrorCode &errorCode) const {
if (U_FAILURE(errorCode) || !desiredLocales.hasNext()) { if (U_FAILURE(errorCode) || !desiredLocales.hasNext()) {
return Result(nullptr, defaultLocale, -1, -1, FALSE); return Result(nullptr, defaultLocale, -1, -1, false);
} }
LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES); LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES);
int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode); int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode);
if (U_FAILURE(errorCode) || suppIndex < 0) { if (U_FAILURE(errorCode) || suppIndex < 0) {
return Result(nullptr, defaultLocale, -1, -1, FALSE); return Result(nullptr, defaultLocale, -1, -1, false);
} else { } else {
return Result(lsrIter.orphanRemembered(), supportedLocales[suppIndex], return Result(lsrIter.orphanRemembered(), supportedLocales[suppIndex],
lsrIter.getBestDesiredIndex(), suppIndex, TRUE); lsrIter.getBestDesiredIndex(), suppIndex, true);
} }
} }

View File

@ -234,7 +234,7 @@ void LocalePriorityList::sort(UErrorCode &errorCode) {
// The comparator forces a stable sort via the item index. // The comparator forces a stable sort via the item index.
if (U_FAILURE(errorCode) || getLength() <= 1 || !hasWeights) { return; } if (U_FAILURE(errorCode) || getLength() <= 1 || !hasWeights) { return; }
uprv_sortArray(list->array.getAlias(), listLength, sizeof(LocaleAndWeight), uprv_sortArray(list->array.getAlias(), listLength, sizeof(LocaleAndWeight),
compareLocaleAndWeight, nullptr, FALSE, &errorCode); compareLocaleAndWeight, nullptr, false, &errorCode);
} }
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -37,7 +37,7 @@ U_NAMESPACE_BEGIN
static icu::Locale* availableLocaleList = NULL; static icu::Locale* availableLocaleList = NULL;
static int32_t availableLocaleListCount; static int32_t availableLocaleListCount;
static icu::UInitOnce gInitOnceLocale = U_INITONCE_INITIALIZER; static icu::UInitOnce gInitOnceLocale {};
U_NAMESPACE_END U_NAMESPACE_END
@ -54,7 +54,7 @@ static UBool U_CALLCONV locale_available_cleanup(void)
availableLocaleListCount = 0; availableLocaleListCount = 0;
gInitOnceLocale.reset(); gInitOnceLocale.reset();
return TRUE; return true;
} }
U_CDECL_END U_CDECL_END
@ -102,7 +102,7 @@ namespace {
// Enough capacity for the two lists in the res_index.res file // Enough capacity for the two lists in the res_index.res file
const char** gAvailableLocaleNames[2] = {}; const char** gAvailableLocaleNames[2] = {};
int32_t gAvailableLocaleCounts[2] = {}; int32_t gAvailableLocaleCounts[2] = {};
icu::UInitOnce ginstalledLocalesInitOnce = U_INITONCE_INITIALIZER; icu::UInitOnce ginstalledLocalesInitOnce {};
class AvailableLocalesSink : public ResourceSink { class AvailableLocalesSink : public ResourceSink {
public: public:
@ -203,7 +203,7 @@ static UBool U_CALLCONV uloc_cleanup(void) {
gAvailableLocaleCounts[i] = 0; gAvailableLocaleCounts[i] = 0;
} }
ginstalledLocalesInitOnce.reset(); ginstalledLocalesInitOnce.reset();
return TRUE; return true;
} }
// Load Installed Locales. This function will be called exactly once // Load Installed Locales. This function will be called exactly once

View File

@ -514,11 +514,11 @@ uloc_getDisplayName(const char *locale,
UChar formatCloseParen = 0x0029; // ) UChar formatCloseParen = 0x0029; // )
UChar formatReplaceCloseParen = 0x005D; // ] UChar formatReplaceCloseParen = 0x005D; // ]
UBool haveLang = TRUE; /* assume true, set false if we find we don't have UBool haveLang = true; /* assume true, set false if we find we don't have
a lang component in the locale */ a lang component in the locale */
UBool haveRest = TRUE; /* assume true, set false if we find we don't have UBool haveRest = true; /* assume true, set false if we find we don't have
any other component in the locale */ any other component in the locale */
UBool retry = FALSE; /* set true if we need to retry, see below */ UBool retry = false; /* set true if we need to retry, see below */
int32_t langi = 0; /* index of the language substitution (0 or 1), virtually always 0 */ int32_t langi = 0; /* index of the language substitution (0 or 1), virtually always 0 */
@ -625,7 +625,7 @@ uloc_getDisplayName(const char *locale,
} }
for(int32_t subi=0,resti=0;subi<2;) { /* iterate through patterns 0 and 1*/ for(int32_t subi=0,resti=0;subi<2;) { /* iterate through patterns 0 and 1*/
UBool subdone = FALSE; /* set true when ready to move to next substitution */ UBool subdone = false; /* set true when ready to move to next substitution */
/* prep p and cap for calls to get display components, pin cap to 0 since /* prep p and cap for calls to get display components, pin cap to 0 since
they complain if cap is negative */ they complain if cap is negative */
@ -643,10 +643,10 @@ uloc_getDisplayName(const char *locale,
length+=langLen; length+=langLen;
haveLang=langLen>0; haveLang=langLen>0;
} }
subdone=TRUE; subdone=true;
} else { /* {1} */ } else { /* {1} */
if(!haveRest) { if(!haveRest) {
subdone=TRUE; subdone=true;
} else { } else {
int32_t len; /* length of component (plus other stuff) we just fetched */ int32_t len; /* length of component (plus other stuff) we just fetched */
switch(resti++) { switch(resti++) {
@ -667,7 +667,7 @@ uloc_getDisplayName(const char *locale,
const char* kw=uenum_next(kenum.getAlias(), &len, pErrorCode); const char* kw=uenum_next(kenum.getAlias(), &len, pErrorCode);
if (kw == NULL) { if (kw == NULL) {
len=0; /* mark that we didn't add a component */ len=0; /* mark that we didn't add a component */
subdone=TRUE; subdone=true;
} else { } else {
/* incorporating this behavior into the loop made it even more complex, /* incorporating this behavior into the loop made it even more complex,
so just special case it here */ so just special case it here */
@ -772,7 +772,7 @@ uloc_getDisplayName(const char *locale,
/* would have fit, but didn't because of pattern prefix. */ /* would have fit, but didn't because of pattern prefix. */
sub0Pos=0; /* stops initial padding (and a second retry, sub0Pos=0; /* stops initial padding (and a second retry,
so we won't end up here again) */ so we won't end up here again) */
retry=TRUE; retry=true;
} }
} }
} }

View File

@ -45,13 +45,13 @@ enum {
}; };
LocaleDistance *gLocaleDistance = nullptr; LocaleDistance *gLocaleDistance = nullptr;
UInitOnce gInitOnce = U_INITONCE_INITIALIZER; UInitOnce gInitOnce {};
UBool U_CALLCONV cleanup() { UBool U_CALLCONV cleanup() {
delete gLocaleDistance; delete gLocaleDistance;
gLocaleDistance = nullptr; gLocaleDistance = nullptr;
gInitOnce.reset(); gInitOnce.reset();
return TRUE; return true;
} }
} // namespace } // namespace

View File

@ -403,7 +403,7 @@ struct LocaleDisplayNamesImpl::CapitalizationContextSink : public ResourceSink {
LocaleDisplayNamesImpl& parent; LocaleDisplayNamesImpl& parent;
CapitalizationContextSink(LocaleDisplayNamesImpl& _parent) CapitalizationContextSink(LocaleDisplayNamesImpl& _parent)
: hasCapitalizationUsage(FALSE), parent(_parent) {} : hasCapitalizationUsage(false), parent(_parent) {}
virtual ~CapitalizationContextSink(); virtual ~CapitalizationContextSink();
virtual void put(const char *key, ResourceValue &value, UBool /*noFallback*/, virtual void put(const char *key, ResourceValue &value, UBool /*noFallback*/,
@ -437,8 +437,8 @@ struct LocaleDisplayNamesImpl::CapitalizationContextSink : public ResourceSink {
int32_t titlecaseInt = (parent.capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU) ? intVector[0] : intVector[1]; int32_t titlecaseInt = (parent.capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU) ? intVector[0] : intVector[1];
if (titlecaseInt == 0) { continue; } if (titlecaseInt == 0) { continue; }
parent.fCapitalization[usageEnum] = TRUE; parent.fCapitalization[usageEnum] = true;
hasCapitalizationUsage = TRUE; hasCapitalizationUsage = true;
} }
} }
}; };
@ -490,7 +490,7 @@ LocaleDisplayNamesImpl::initialize(void) {
#if !UCONFIG_NO_BREAK_ITERATION #if !UCONFIG_NO_BREAK_ITERATION
// Only get the context data if we need it! This is a const object so we know now... // Only get the context data if we need it! This is a const object so we know now...
// Also check whether we will need a break iterator (depends on the data) // Also check whether we will need a break iterator (depends on the data)
UBool needBrkIter = FALSE; UBool needBrkIter = false;
if (capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU || capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_STANDALONE) { if (capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU || capitalizationContext == UDISPCTX_CAPITALIZATION_FOR_STANDALONE) {
LocalUResourceBundlePointer resource(ures_open(NULL, locale.getName(), &status)); LocalUResourceBundlePointer resource(ures_open(NULL, locale.getName(), &status));
if (U_FAILURE(status)) { return; } if (U_FAILURE(status)) { return; }
@ -593,8 +593,8 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, "_", country, (char *)0); ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, "_", country, (char *)0);
localeIdName(buffer, resultName, false); localeIdName(buffer, resultName, false);
if (!resultName.isBogus()) { if (!resultName.isBogus()) {
hasScript = FALSE; hasScript = false;
hasCountry = FALSE; hasCountry = false;
break; break;
} }
} }
@ -602,7 +602,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, (char *)0); ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, (char *)0);
localeIdName(buffer, resultName, false); localeIdName(buffer, resultName, false);
if (!resultName.isBogus()) { if (!resultName.isBogus()) {
hasScript = FALSE; hasScript = false;
break; break;
} }
} }
@ -610,11 +610,11 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", country, (char*)0); ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", country, (char*)0);
localeIdName(buffer, resultName, false); localeIdName(buffer, resultName, false);
if (!resultName.isBogus()) { if (!resultName.isBogus()) {
hasCountry = FALSE; hasCountry = false;
break; break;
} }
} }
} while (FALSE); } while (false);
} }
if (resultName.isBogus() || resultName.isEmpty()) { if (resultName.isBogus() || resultName.isEmpty()) {
localeIdName(lang, resultName, substitute == UDISPCTX_SUBSTITUTE); localeIdName(lang, resultName, substitute == UDISPCTX_SUBSTITUTE);
@ -629,7 +629,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
if (hasScript) { if (hasScript) {
UnicodeString script_str = scriptDisplayName(script, temp, TRUE); UnicodeString script_str = scriptDisplayName(script, temp, true);
if (script_str.isBogus()) { if (script_str.isBogus()) {
result.setToBogus(); result.setToBogus();
return result; return result;
@ -637,7 +637,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
resultRemainder.append(script_str); resultRemainder.append(script_str);
} }
if (hasCountry) { if (hasCountry) {
UnicodeString region_str = regionDisplayName(country, temp, TRUE); UnicodeString region_str = regionDisplayName(country, temp, true);
if (region_str.isBogus()) { if (region_str.isBogus()) {
result.setToBogus(); result.setToBogus();
return result; return result;
@ -645,7 +645,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
appendWithSep(resultRemainder, region_str); appendWithSep(resultRemainder, region_str);
} }
if (hasVariant) { if (hasVariant) {
UnicodeString variant_str = variantDisplayName(variant, temp, TRUE); UnicodeString variant_str = variantDisplayName(variant, temp, true);
if (variant_str.isBogus()) { if (variant_str.isBogus()) {
result.setToBogus(); result.setToBogus();
return result; return result;
@ -666,10 +666,10 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
if (U_FAILURE(status) || status == U_STRING_NOT_TERMINATED_WARNING) { if (U_FAILURE(status) || status == U_STRING_NOT_TERMINATED_WARNING) {
return result; return result;
} }
keyDisplayName(key, temp, TRUE); keyDisplayName(key, temp, true);
temp.findAndReplace(formatOpenParen, formatReplaceOpenParen); temp.findAndReplace(formatOpenParen, formatReplaceOpenParen);
temp.findAndReplace(formatCloseParen, formatReplaceCloseParen); temp.findAndReplace(formatCloseParen, formatReplaceCloseParen);
keyValueDisplayName(key, value, temp2, TRUE); keyValueDisplayName(key, value, temp2, true);
temp2.findAndReplace(formatOpenParen, formatReplaceOpenParen); temp2.findAndReplace(formatOpenParen, formatReplaceOpenParen);
temp2.findAndReplace(formatCloseParen, formatReplaceCloseParen); temp2.findAndReplace(formatCloseParen, formatReplaceCloseParen);
if (temp2 != UnicodeString(value, -1, US_INV)) { if (temp2 != UnicodeString(value, -1, US_INV)) {
@ -797,13 +797,13 @@ LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
UnicodeString& UnicodeString&
LocaleDisplayNamesImpl::scriptDisplayName(const char* script, LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
UnicodeString& result) const { UnicodeString& result) const {
return scriptDisplayName(script, result, FALSE); return scriptDisplayName(script, result, false);
} }
UnicodeString& UnicodeString&
LocaleDisplayNamesImpl::scriptDisplayName(UScriptCode scriptCode, LocaleDisplayNamesImpl::scriptDisplayName(UScriptCode scriptCode,
UnicodeString& result) const { UnicodeString& result) const {
return scriptDisplayName(uscript_getName(scriptCode), result, FALSE); return scriptDisplayName(uscript_getName(scriptCode), result, false);
} }
UnicodeString& UnicodeString&
@ -827,7 +827,7 @@ LocaleDisplayNamesImpl::regionDisplayName(const char* region,
UnicodeString& UnicodeString&
LocaleDisplayNamesImpl::regionDisplayName(const char* region, LocaleDisplayNamesImpl::regionDisplayName(const char* region,
UnicodeString& result) const { UnicodeString& result) const {
return regionDisplayName(region, result, FALSE); return regionDisplayName(region, result, false);
} }
@ -847,7 +847,7 @@ LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
UnicodeString& UnicodeString&
LocaleDisplayNamesImpl::variantDisplayName(const char* variant, LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
UnicodeString& result) const { UnicodeString& result) const {
return variantDisplayName(variant, result, FALSE); return variantDisplayName(variant, result, false);
} }
UnicodeString& UnicodeString&
@ -866,7 +866,7 @@ LocaleDisplayNamesImpl::keyDisplayName(const char* key,
UnicodeString& UnicodeString&
LocaleDisplayNamesImpl::keyDisplayName(const char* key, LocaleDisplayNamesImpl::keyDisplayName(const char* key,
UnicodeString& result) const { UnicodeString& result) const {
return keyDisplayName(key, result, FALSE); return keyDisplayName(key, result, false);
} }
UnicodeString& UnicodeString&
@ -908,7 +908,7 @@ UnicodeString&
LocaleDisplayNamesImpl::keyValueDisplayName(const char* key, LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
const char* value, const char* value,
UnicodeString& result) const { UnicodeString& result) const {
return keyValueDisplayName(key, value, result, FALSE); return keyValueDisplayName(key, value, result, false);
} }
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -64,7 +64,7 @@ U_CDECL_END
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
static Locale *gLocaleCache = NULL; static Locale *gLocaleCache = NULL;
static UInitOnce gLocaleCacheInitOnce = U_INITONCE_INITIALIZER; static UInitOnce gLocaleCacheInitOnce {};
// gDefaultLocaleMutex protects all access to gDefaultLocalesHashT and gDefaultLocale. // gDefaultLocaleMutex protects all access to gDefaultLocalesHashT and gDefaultLocale.
static UMutex gDefaultLocaleMutex; static UMutex gDefaultLocaleMutex;
@ -128,7 +128,7 @@ static UBool U_CALLCONV locale_cleanup(void)
gDefaultLocalesHashT = NULL; gDefaultLocalesHashT = NULL;
} }
gDefaultLocale = NULL; gDefaultLocale = NULL;
return TRUE; return true;
} }
@ -171,7 +171,7 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
// Synchronize this entire function. // Synchronize this entire function.
Mutex lock(&gDefaultLocaleMutex); Mutex lock(&gDefaultLocaleMutex);
UBool canonicalize = FALSE; UBool canonicalize = false;
// If given a NULL string for the locale id, grab the default // If given a NULL string for the locale id, grab the default
// name from the system. // name from the system.
@ -179,7 +179,7 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
// the current ICU default locale.) // the current ICU default locale.)
if (id == NULL) { if (id == NULL) {
id = uprv_getDefaultLocaleID(); // This function not thread safe? TODO: verify. id = uprv_getDefaultLocaleID(); // This function not thread safe? TODO: verify.
canonicalize = TRUE; // always canonicalize host ID canonicalize = true; // always canonicalize host ID
} }
CharString localeNameBuf; CharString localeNameBuf;
@ -212,7 +212,7 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
status = U_MEMORY_ALLOCATION_ERROR; status = U_MEMORY_ALLOCATION_ERROR;
return gDefaultLocale; return gDefaultLocale;
} }
newDefault->init(localeNameBuf.data(), FALSE); newDefault->init(localeNameBuf.data(), false);
uhash_put(gDefaultLocalesHashT, (char*) newDefault->getName(), newDefault, &status); uhash_put(gDefaultLocalesHashT, (char*) newDefault->getName(), newDefault, &status);
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
return gDefaultLocale; return gDefaultLocale;
@ -269,7 +269,7 @@ Locale::~Locale()
Locale::Locale() Locale::Locale()
: UObject(), fullName(fullNameBuffer), baseName(NULL) : UObject(), fullName(fullNameBuffer), baseName(NULL)
{ {
init(NULL, FALSE); init(NULL, false);
} }
/* /*
@ -292,7 +292,7 @@ Locale::Locale( const char * newLanguage,
{ {
if( (newLanguage==NULL) && (newCountry == NULL) && (newVariant == NULL) ) if( (newLanguage==NULL) && (newCountry == NULL) && (newVariant == NULL) )
{ {
init(NULL, FALSE); /* shortcut */ init(NULL, false); /* shortcut */
} }
else else
{ {
@ -397,7 +397,7 @@ Locale::Locale( const char * newLanguage,
} }
// Parse it, because for example 'language' might really be a complete // Parse it, because for example 'language' might really be a complete
// string. // string.
init(togo.data(), FALSE); init(togo.data(), false);
} }
} }
@ -491,7 +491,7 @@ Locale::operator==( const Locale& other) const
namespace { namespace {
UInitOnce gKnownCanonicalizedInitOnce = U_INITONCE_INITIALIZER; UInitOnce gKnownCanonicalizedInitOnce {};
UHashtable *gKnownCanonicalized = nullptr; UHashtable *gKnownCanonicalized = nullptr;
static const char* const KNOWN_CANONICALIZED[] = { static const char* const KNOWN_CANONICALIZED[] = {
@ -521,7 +521,7 @@ static const char* const KNOWN_CANONICALIZED[] = {
static UBool U_CALLCONV cleanupKnownCanonicalized() { static UBool U_CALLCONV cleanupKnownCanonicalized() {
gKnownCanonicalizedInitOnce.reset(); gKnownCanonicalizedInitOnce.reset();
if (gKnownCanonicalized) { uhash_close(gKnownCanonicalized); } if (gKnownCanonicalized) { uhash_close(gKnownCanonicalized); }
return TRUE; return true;
} }
static void U_CALLCONV loadKnownCanonicalized(UErrorCode &status) { static void U_CALLCONV loadKnownCanonicalized(UErrorCode &status) {
@ -682,14 +682,14 @@ private:
const AliasData* AliasData::gSingleton = nullptr; const AliasData* AliasData::gSingleton = nullptr;
UInitOnce AliasData::gInitOnce = U_INITONCE_INITIALIZER; UInitOnce AliasData::gInitOnce {};
UBool U_CALLCONV UBool U_CALLCONV
AliasData::cleanup() AliasData::cleanup()
{ {
gInitOnce.reset(); gInitOnce.reset();
delete gSingleton; delete gSingleton;
return TRUE; return true;
} }
void void
@ -716,20 +716,19 @@ AliasDataBuilder::readAlias(
status = U_MEMORY_ALLOCATION_ERROR; status = U_MEMORY_ALLOCATION_ERROR;
return; return;
} }
int i = 0; for (int i = 0; U_SUCCESS(status) && ures_hasNext(alias); i++) {
while (ures_hasNext(alias)) {
LocalUResourceBundlePointer res( LocalUResourceBundlePointer res(
ures_getNextResource(alias, nullptr, &status)); ures_getNextResource(alias, nullptr, &status));
const char* aliasFrom = ures_getKey(res.getAlias()); const char* aliasFrom = ures_getKey(res.getAlias());
UnicodeString aliasTo = UnicodeString aliasTo =
ures_getUnicodeStringByKey(res.getAlias(), "replacement", &status); ures_getUnicodeStringByKey(res.getAlias(), "replacement", &status);
if (U_FAILURE(status)) return;
checkType(aliasFrom); checkType(aliasFrom);
checkReplacement(aliasTo); checkReplacement(aliasTo);
rawTypes[i] = aliasFrom; rawTypes[i] = aliasFrom;
rawIndexes[i] = strings->add(aliasTo, status); rawIndexes[i] = strings->add(aliasTo, status);
i++;
} }
} }
@ -1818,7 +1817,7 @@ ulocimp_isCanonicalizedLocaleForTest(const char* localeName)
/*This function initializes a Locale from a C locale ID*/ /*This function initializes a Locale from a C locale ID*/
Locale& Locale::init(const char* localeID, UBool canonicalize) Locale& Locale::init(const char* localeID, UBool canonicalize)
{ {
fIsBogus = FALSE; fIsBogus = false;
/* Free our current storage */ /* Free our current storage */
if ((baseName != fullName) && (baseName != fullNameBuffer)) { if ((baseName != fullName) && (baseName != fullNameBuffer)) {
uprv_free(baseName); uprv_free(baseName);
@ -2022,7 +2021,7 @@ Locale::setToBogus() {
*language = 0; *language = 0;
*script = 0; *script = 0;
*country = 0; *country = 0;
fIsBogus = TRUE; fIsBogus = true;
variantBegin = 0; variantBegin = 0;
} }
@ -2072,7 +2071,7 @@ Locale::addLikelySubtags(UErrorCode& status) {
return; return;
} }
init(maximizedLocaleID.data(), /*canonicalize=*/FALSE); init(maximizedLocaleID.data(), /*canonicalize=*/false);
if (isBogus()) { if (isBogus()) {
status = U_ILLEGAL_ARGUMENT_ERROR; status = U_ILLEGAL_ARGUMENT_ERROR;
} }
@ -2094,7 +2093,7 @@ Locale::minimizeSubtags(UErrorCode& status) {
return; return;
} }
init(minimizedLocaleID.data(), /*canonicalize=*/FALSE); init(minimizedLocaleID.data(), /*canonicalize=*/false);
if (isBogus()) { if (isBogus()) {
status = U_ILLEGAL_ARGUMENT_ERROR; status = U_ILLEGAL_ARGUMENT_ERROR;
} }
@ -2113,7 +2112,7 @@ Locale::canonicalize(UErrorCode& status) {
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
return; return;
} }
init(uncanonicalized.data(), /*canonicalize=*/TRUE); init(uncanonicalized.data(), /*canonicalize=*/true);
if (isBogus()) { if (isBogus()) {
status = U_ILLEGAL_ARGUMENT_ERROR; status = U_ILLEGAL_ARGUMENT_ERROR;
} }
@ -2160,7 +2159,7 @@ Locale::forLanguageTag(StringPiece tag, UErrorCode& status)
return result; return result;
} }
result.init(localeID.data(), /*canonicalize=*/FALSE); result.init(localeID.data(), /*canonicalize=*/false);
if (result.isBogus()) { if (result.isBogus()) {
status = U_ILLEGAL_ARGUMENT_ERROR; status = U_ILLEGAL_ARGUMENT_ERROR;
} }
@ -2179,7 +2178,7 @@ Locale::toLanguageTag(ByteSink& sink, UErrorCode& status) const
return; return;
} }
ulocimp_toLanguageTag(fullName, sink, /*strict=*/FALSE, &status); ulocimp_toLanguageTag(fullName, sink, /*strict=*/false, &status);
} }
Locale U_EXPORT2 Locale U_EXPORT2
@ -2187,7 +2186,7 @@ Locale::createFromName (const char *name)
{ {
if (name) { if (name) {
Locale l(""); Locale l("");
l.init(name, FALSE); l.init(name, false);
return l; return l;
} }
else { else {
@ -2198,7 +2197,7 @@ Locale::createFromName (const char *name)
Locale U_EXPORT2 Locale U_EXPORT2
Locale::createCanonical(const char* name) { Locale::createCanonical(const char* name) {
Locale loc(""); Locale loc("");
loc.init(name, TRUE); loc.init(name, true);
return loc; return loc;
} }
@ -2241,7 +2240,7 @@ const char* const* U_EXPORT2 Locale::getISOLanguages()
// Set the locale's data based on a posix id. // Set the locale's data based on a posix id.
void Locale::setFromPOSIXID(const char *posixID) void Locale::setFromPOSIXID(const char *posixID)
{ {
init(posixID, TRUE); init(posixID, true);
} }
const Locale & U_EXPORT2 const Locale & U_EXPORT2
@ -2531,7 +2530,7 @@ Locale::createKeywords(UErrorCode &status) const
if(assignment > variantStart) { if(assignment > variantStart) {
CharString keywords; CharString keywords;
CharStringByteSink sink(&keywords); CharStringByteSink sink(&keywords);
ulocimp_getKeywords(variantStart+1, '@', sink, FALSE, &status); ulocimp_getKeywords(variantStart+1, '@', sink, false, &status);
if (U_SUCCESS(status) && !keywords.isEmpty()) { if (U_SUCCESS(status) && !keywords.isEmpty()) {
result = new KeywordEnumeration(keywords.data(), keywords.length(), 0, status); result = new KeywordEnumeration(keywords.data(), keywords.length(), 0, status);
if (!result) { if (!result) {
@ -2560,7 +2559,7 @@ Locale::createUnicodeKeywords(UErrorCode &status) const
if(assignment > variantStart) { if(assignment > variantStart) {
CharString keywords; CharString keywords;
CharStringByteSink sink(&keywords); CharStringByteSink sink(&keywords);
ulocimp_getKeywords(variantStart+1, '@', sink, FALSE, &status); ulocimp_getKeywords(variantStart+1, '@', sink, false, &status);
if (U_SUCCESS(status) && !keywords.isEmpty()) { if (U_SUCCESS(status) && !keywords.isEmpty()) {
result = new UnicodeKeywordEnumeration(keywords.data(), keywords.length(), 0, status); result = new UnicodeKeywordEnumeration(keywords.data(), keywords.length(), 0, status);
if (!result) { if (!result) {

View File

@ -201,7 +201,7 @@ createTagStringWithAlternates(
**/ **/
char tagBuffer[ULOC_FULLNAME_CAPACITY]; char tagBuffer[ULOC_FULLNAME_CAPACITY];
int32_t tagLength = 0; int32_t tagLength = 0;
UBool regionAppended = FALSE; UBool regionAppended = false;
if (langLength > 0) { if (langLength > 0) {
appendTag( appendTag(
@ -209,7 +209,7 @@ createTagStringWithAlternates(
langLength, langLength,
tagBuffer, tagBuffer,
&tagLength, &tagLength,
/*withSeparator=*/FALSE); /*withSeparator=*/false);
} }
else if (alternateTags == NULL) { else if (alternateTags == NULL) {
/* /*
@ -246,7 +246,7 @@ createTagStringWithAlternates(
alternateLangLength, alternateLangLength,
tagBuffer, tagBuffer,
&tagLength, &tagLength,
/*withSeparator=*/FALSE); /*withSeparator=*/false);
} }
} }
@ -256,7 +256,7 @@ createTagStringWithAlternates(
scriptLength, scriptLength,
tagBuffer, tagBuffer,
&tagLength, &tagLength,
/*withSeparator=*/TRUE); /*withSeparator=*/true);
} }
else if (alternateTags != NULL) { else if (alternateTags != NULL) {
/* /*
@ -281,7 +281,7 @@ createTagStringWithAlternates(
alternateScriptLength, alternateScriptLength,
tagBuffer, tagBuffer,
&tagLength, &tagLength,
/*withSeparator=*/TRUE); /*withSeparator=*/true);
} }
} }
@ -291,9 +291,9 @@ createTagStringWithAlternates(
regionLength, regionLength,
tagBuffer, tagBuffer,
&tagLength, &tagLength,
/*withSeparator=*/TRUE); /*withSeparator=*/true);
regionAppended = TRUE; regionAppended = true;
} }
else if (alternateTags != NULL) { else if (alternateTags != NULL) {
/* /*
@ -317,9 +317,9 @@ createTagStringWithAlternates(
alternateRegionLength, alternateRegionLength,
tagBuffer, tagBuffer,
&tagLength, &tagLength,
/*withSeparator=*/TRUE); /*withSeparator=*/true);
regionAppended = TRUE; regionAppended = true;
} }
} }
@ -622,7 +622,7 @@ createLikelySubtagsString(
likelySubtags, likelySubtags,
sink, sink,
err); err);
return TRUE; return true;
} }
} }
@ -678,7 +678,7 @@ createLikelySubtagsString(
likelySubtags, likelySubtags,
sink, sink,
err); err);
return TRUE; return true;
} }
} }
@ -734,7 +734,7 @@ createLikelySubtagsString(
likelySubtags, likelySubtags,
sink, sink,
err); err);
return TRUE; return true;
} }
} }
@ -789,11 +789,11 @@ createLikelySubtagsString(
likelySubtags, likelySubtags,
sink, sink,
err); err);
return TRUE; return true;
} }
} }
return FALSE; return false;
error: error:
@ -801,7 +801,7 @@ error:
*err = U_ILLEGAL_ARGUMENT_ERROR; *err = U_ILLEGAL_ARGUMENT_ERROR;
} }
return FALSE; return false;
} }
#define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) UPRV_BLOCK_MACRO_BEGIN { \ #define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) UPRV_BLOCK_MACRO_BEGIN { \
@ -836,7 +836,7 @@ _uloc_addLikelySubtags(const char* localeID,
const char* trailing = ""; const char* trailing = "";
int32_t trailingLength = 0; int32_t trailingLength = 0;
int32_t trailingIndex = 0; int32_t trailingIndex = 0;
UBool success = FALSE; UBool success = false;
if(U_FAILURE(*err)) { if(U_FAILURE(*err)) {
goto error; goto error;
@ -901,7 +901,7 @@ error:
if (!U_FAILURE(*err)) { if (!U_FAILURE(*err)) {
*err = U_ILLEGAL_ARGUMENT_ERROR; *err = U_ILLEGAL_ARGUMENT_ERROR;
} }
return FALSE; return false;
} }
// Add likely subtags to the sink // Add likely subtags to the sink
@ -925,7 +925,7 @@ _uloc_minimizeSubtags(const char* localeID,
const char* trailing = ""; const char* trailing = "";
int32_t trailingLength = 0; int32_t trailingLength = 0;
int32_t trailingIndex = 0; int32_t trailingIndex = 0;
UBool successGetMax = FALSE; UBool successGetMax = false;
if(U_FAILURE(*err)) { if(U_FAILURE(*err)) {
goto error; goto error;
@ -1248,7 +1248,7 @@ _ulocimp_addLikelySubtags(const char* localeID,
if (U_SUCCESS(*status)) { if (U_SUCCESS(*status)) {
return _uloc_addLikelySubtags(localeBuffer.getBuffer(), sink, status); return _uloc_addLikelySubtags(localeBuffer.getBuffer(), sink, status);
} else { } else {
return FALSE; return false;
} }
} }
@ -1320,14 +1320,14 @@ uloc_isRightToLeft(const char *locale) {
char lang[8]; char lang[8];
int32_t langLength = uloc_getLanguage(locale, lang, UPRV_LENGTHOF(lang), &errorCode); int32_t langLength = uloc_getLanguage(locale, lang, UPRV_LENGTHOF(lang), &errorCode);
if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) { if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
return FALSE; return false;
} }
if (langLength > 0) { if (langLength > 0) {
const char* langPtr = uprv_strstr(LANG_DIR_STRING, lang); const char* langPtr = uprv_strstr(LANG_DIR_STRING, lang);
if (langPtr != NULL) { if (langPtr != NULL) {
switch (langPtr[langLength]) { switch (langPtr[langLength]) {
case '-': return FALSE; case '-': return false;
case '+': return TRUE; case '+': return true;
default: break; // partial match of a longer code default: break; // partial match of a longer code
} }
} }
@ -1340,12 +1340,12 @@ uloc_isRightToLeft(const char *locale) {
ulocimp_addLikelySubtags(locale, sink, &errorCode); ulocimp_addLikelySubtags(locale, sink, &errorCode);
} }
if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) { if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
return FALSE; return false;
} }
scriptLength = uloc_getScript(likely.data(), script, UPRV_LENGTHOF(script), &errorCode); scriptLength = uloc_getScript(likely.data(), script, UPRV_LENGTHOF(script), &errorCode);
if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING || if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING ||
scriptLength == 0) { scriptLength == 0) {
return FALSE; return false;
} }
} }
UScriptCode scriptCode = (UScriptCode)u_getPropertyValueEnum(UCHAR_SCRIPT, script); UScriptCode scriptCode = (UScriptCode)u_getPropertyValueEnum(UCHAR_SCRIPT, script);
@ -1392,7 +1392,7 @@ ulocimp_getRegionForSupplementalData(const char *localeID, UBool inferRegion,
if (U_FAILURE(*status)) { if (U_FAILURE(*status)) {
rgLen = 0; rgLen = 0;
} else if (rgLen == 0 && inferRegion) { } else if (rgLen == 0 && inferRegion) {
// no unicode_region_subtag but inferRegion TRUE, try likely subtags // no unicode_region_subtag but inferRegion true, try likely subtags
rgStatus = U_ZERO_ERROR; rgStatus = U_ZERO_ERROR;
icu::CharString locBuf; icu::CharString locBuf;
{ {

View File

@ -233,7 +233,7 @@ private:
return false; return false;
} }
for (int i = 0; i < length; ++i) { for (int i = 0; i < length; ++i) {
stringArray.getValue(i, value); // returns TRUE because i < length stringArray.getValue(i, value); // returns true because i < length
rawIndexes[i] = strings.add(value.getUnicodeString(errorCode), errorCode); rawIndexes[i] = strings.add(value.getUnicodeString(errorCode), errorCode);
if (U_FAILURE(errorCode)) { return false; } if (U_FAILURE(errorCode)) { return false; }
} }
@ -245,13 +245,13 @@ private:
namespace { namespace {
XLikelySubtags *gLikelySubtags = nullptr; XLikelySubtags *gLikelySubtags = nullptr;
UInitOnce gInitOnce = U_INITONCE_INITIALIZER; UInitOnce gInitOnce {};
UBool U_CALLCONV cleanup() { UBool U_CALLCONV cleanup() {
delete gLikelySubtags; delete gLikelySubtags;
gLikelySubtags = nullptr; gLikelySubtags = nullptr;
gInitOnce.reset(); gInitOnce.reset();
return TRUE; return true;
} }
} // namespace } // namespace

View File

@ -1053,7 +1053,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
{ {
uint16_t langID; uint16_t langID;
uint32_t localeIndex; uint32_t localeIndex;
UBool bLookup = TRUE; UBool bLookup = true;
const char *pPosixID = NULL; const char *pPosixID = NULL;
#if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API #if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
@ -1074,7 +1074,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
if (tmpLen > 1) { if (tmpLen > 1) {
int32_t i = 0; int32_t i = 0;
// Only need to look up in table if have _, eg for de-de_phoneb type alternate sort. // Only need to look up in table if have _, eg for de-de_phoneb type alternate sort.
bLookup = FALSE; bLookup = false;
for (i = 0; i < UPRV_LENGTHOF(locName); i++) for (i = 0; i < UPRV_LENGTHOF(locName); i++)
{ {
locName[i] = (char)(windowsLocaleName[i]); locName[i] = (char)(windowsLocaleName[i]);
@ -1088,7 +1088,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
// TODO: Should these be mapped from _phoneb to @collation=phonebook, etc.? // TODO: Should these be mapped from _phoneb to @collation=phonebook, etc.?
locName[i] = '\0'; locName[i] = '\0';
tmpLen = i; tmpLen = i;
bLookup = TRUE; bLookup = true;
break; break;
} }
else if (windowsLocaleName[i] == L'-') else if (windowsLocaleName[i] == L'-')
@ -1201,7 +1201,7 @@ uprv_convertToLCIDPlatform(const char* localeID, UErrorCode* status)
char asciiBCP47Tag[LOCALE_NAME_MAX_LENGTH] = {}; char asciiBCP47Tag[LOCALE_NAME_MAX_LENGTH] = {};
// this will change it from de_DE@collation=phonebook to de-DE-u-co-phonebk form // this will change it from de_DE@collation=phonebook to de-DE-u-co-phonebk form
(void)uloc_toLanguageTag(mylocaleID, asciiBCP47Tag, UPRV_LENGTHOF(asciiBCP47Tag), FALSE, status); (void)uloc_toLanguageTag(mylocaleID, asciiBCP47Tag, UPRV_LENGTHOF(asciiBCP47Tag), false, status);
if (U_SUCCESS(*status)) if (U_SUCCESS(*status))
{ {

View File

@ -21,7 +21,7 @@
#include "umutex.h" #include "umutex.h"
// see LocaleUtility::getAvailableLocaleNames // see LocaleUtility::getAvailableLocaleNames
static icu::UInitOnce LocaleUtilityInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce LocaleUtilityInitOnce {};
static icu::Hashtable * LocaleUtility_cache = NULL; static icu::Hashtable * LocaleUtility_cache = NULL;
#define UNDERSCORE_CHAR ((UChar)0x005f) #define UNDERSCORE_CHAR ((UChar)0x005f)
@ -41,7 +41,7 @@ static UBool U_CALLCONV service_cleanup(void) {
delete LocaleUtility_cache; delete LocaleUtility_cache;
LocaleUtility_cache = NULL; LocaleUtility_cache = NULL;
} }
return TRUE; return true;
} }

View File

@ -55,7 +55,7 @@ public:
UnicodeString &result); UnicodeString &result);
private: private:
MessageImpl(); // no constructor: all static methods MessageImpl() = delete; // no constructor: all static methods
}; };
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -97,9 +97,9 @@ public:
UBool ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode); UBool ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode);
UBool equals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const { UBool equals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
for(int32_t i=0; i<length; ++i) { for(int32_t i=0; i<length; ++i) {
if(a[i]!=other.a[i]) { return FALSE; } if(a[i]!=other.a[i]) { return false; }
} }
return TRUE; return true;
} }
MaybeStackArray<T, stackCapacity> a; MaybeStackArray<T, stackCapacity> a;
@ -124,13 +124,13 @@ template<typename T, int32_t stackCapacity>
UBool UBool
MessagePatternList<T, stackCapacity>::ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode) { MessagePatternList<T, stackCapacity>::ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
if(a.getCapacity()>oldLength || a.resize(2*oldLength, oldLength)!=NULL) { if(a.getCapacity()>oldLength || a.resize(2*oldLength, oldLength)!=NULL) {
return TRUE; return true;
} }
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
// MessagePatternList specializations -------------------------------------- *** // MessagePatternList specializations -------------------------------------- ***
@ -147,7 +147,7 @@ MessagePattern::MessagePattern(UErrorCode &errorCode)
: aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE), : aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE),
partsList(NULL), parts(NULL), partsLength(0), partsList(NULL), parts(NULL), partsLength(0),
numericValuesList(NULL), numericValues(NULL), numericValuesLength(0), numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
hasArgNames(FALSE), hasArgNumbers(FALSE), needsAutoQuoting(FALSE) { hasArgNames(false), hasArgNumbers(false), needsAutoQuoting(false) {
init(errorCode); init(errorCode);
} }
@ -155,7 +155,7 @@ MessagePattern::MessagePattern(UMessagePatternApostropheMode mode, UErrorCode &e
: aposMode(mode), : aposMode(mode),
partsList(NULL), parts(NULL), partsLength(0), partsList(NULL), parts(NULL), partsLength(0),
numericValuesList(NULL), numericValues(NULL), numericValuesLength(0), numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
hasArgNames(FALSE), hasArgNumbers(FALSE), needsAutoQuoting(FALSE) { hasArgNames(false), hasArgNumbers(false), needsAutoQuoting(false) {
init(errorCode); init(errorCode);
} }
@ -163,7 +163,7 @@ MessagePattern::MessagePattern(const UnicodeString &pattern, UParseError *parseE
: aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE), : aposMode(UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE),
partsList(NULL), parts(NULL), partsLength(0), partsList(NULL), parts(NULL), partsLength(0),
numericValuesList(NULL), numericValues(NULL), numericValuesLength(0), numericValuesList(NULL), numericValues(NULL), numericValuesLength(0),
hasArgNames(FALSE), hasArgNumbers(FALSE), needsAutoQuoting(FALSE) { hasArgNames(false), hasArgNumbers(false), needsAutoQuoting(false) {
if(init(errorCode)) { if(init(errorCode)) {
parse(pattern, parseError, errorCode); parse(pattern, parseError, errorCode);
} }
@ -172,15 +172,15 @@ MessagePattern::MessagePattern(const UnicodeString &pattern, UParseError *parseE
UBool UBool
MessagePattern::init(UErrorCode &errorCode) { MessagePattern::init(UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
partsList=new MessagePatternPartsList(); partsList=new MessagePatternPartsList();
if(partsList==NULL) { if(partsList==NULL) {
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
parts=partsList->a.getAlias(); parts=partsList->a.getAlias();
return TRUE; return true;
} }
MessagePattern::MessagePattern(const MessagePattern &other) MessagePattern::MessagePattern(const MessagePattern &other)
@ -215,7 +215,7 @@ MessagePattern::operator=(const MessagePattern &other) {
UBool UBool
MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode) { MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
parts=NULL; parts=NULL;
partsLength=0; partsLength=0;
@ -225,14 +225,14 @@ MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode)
partsList=new MessagePatternPartsList(); partsList=new MessagePatternPartsList();
if(partsList==NULL) { if(partsList==NULL) {
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
parts=partsList->a.getAlias(); parts=partsList->a.getAlias();
} }
if(other.partsLength>0) { if(other.partsLength>0) {
partsList->copyFrom(*other.partsList, other.partsLength, errorCode); partsList->copyFrom(*other.partsList, other.partsLength, errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
parts=partsList->a.getAlias(); parts=partsList->a.getAlias();
partsLength=other.partsLength; partsLength=other.partsLength;
@ -242,19 +242,19 @@ MessagePattern::copyStorage(const MessagePattern &other, UErrorCode &errorCode)
numericValuesList=new MessagePatternDoubleList(); numericValuesList=new MessagePatternDoubleList();
if(numericValuesList==NULL) { if(numericValuesList==NULL) {
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
numericValues=numericValuesList->a.getAlias(); numericValues=numericValuesList->a.getAlias();
} }
numericValuesList->copyFrom( numericValuesList->copyFrom(
*other.numericValuesList, other.numericValuesLength, errorCode); *other.numericValuesList, other.numericValuesLength, errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
numericValues=numericValuesList->a.getAlias(); numericValues=numericValuesList->a.getAlias();
numericValuesLength=other.numericValuesLength; numericValuesLength=other.numericValuesLength;
} }
return TRUE; return true;
} }
MessagePattern::~MessagePattern() { MessagePattern::~MessagePattern() {
@ -303,8 +303,8 @@ void
MessagePattern::clear() { MessagePattern::clear() {
// Mostly the same as preParse(). // Mostly the same as preParse().
msg.remove(); msg.remove();
hasArgNames=hasArgNumbers=FALSE; hasArgNames=hasArgNumbers=false;
needsAutoQuoting=FALSE; needsAutoQuoting=false;
partsLength=0; partsLength=0;
numericValuesLength=0; numericValuesLength=0;
} }
@ -414,8 +414,8 @@ MessagePattern::preParse(const UnicodeString &pattern, UParseError *parseError,
parseError->postContext[0]=0; parseError->postContext[0]=0;
} }
msg=pattern; msg=pattern;
hasArgNames=hasArgNumbers=FALSE; hasArgNames=hasArgNumbers=false;
needsAutoQuoting=FALSE; needsAutoQuoting=false;
partsLength=0; partsLength=0;
numericValuesLength=0; numericValuesLength=0;
} }
@ -458,7 +458,7 @@ MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
// Add a Part for auto-quoting. // Add a Part for auto-quoting.
addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0, addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
u_apos, errorCode); // value=char to be inserted u_apos, errorCode); // value=char to be inserted
needsAutoQuoting=TRUE; needsAutoQuoting=true;
} else { } else {
c=msg.charAt(index); c=msg.charAt(index);
if(c==u_apos) { if(c==u_apos) {
@ -491,7 +491,7 @@ MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
// Add a Part for auto-quoting. // Add a Part for auto-quoting.
addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0, addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
u_apos, errorCode); // value=char to be inserted u_apos, errorCode); // value=char to be inserted
needsAutoQuoting=TRUE; needsAutoQuoting=true;
break; break;
} }
} }
@ -500,7 +500,7 @@ MessagePattern::parseMessage(int32_t index, int32_t msgStartLength,
// Add a Part for auto-quoting. // Add a Part for auto-quoting.
addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0, addPart(UMSGPAT_PART_TYPE_INSERT_CHAR, index, 0,
u_apos, errorCode); // value=char to be inserted u_apos, errorCode); // value=char to be inserted
needsAutoQuoting=TRUE; needsAutoQuoting=true;
} }
} }
} else if(UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE(parentType) && c==u_pound) { } else if(UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE(parentType) && c==u_pound) {
@ -560,7 +560,7 @@ MessagePattern::parseArg(int32_t index, int32_t argStartLength, int32_t nestingL
errorCode=U_INDEX_OUTOFBOUNDS_ERROR; errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
return 0; return 0;
} }
hasArgNumbers=TRUE; hasArgNumbers=true;
addPart(UMSGPAT_PART_TYPE_ARG_NUMBER, nameIndex, length, number, errorCode); addPart(UMSGPAT_PART_TYPE_ARG_NUMBER, nameIndex, length, number, errorCode);
} else if(number==UMSGPAT_ARG_NAME_NOT_NUMBER) { } else if(number==UMSGPAT_ARG_NAME_NOT_NUMBER) {
int32_t length=index-nameIndex; int32_t length=index-nameIndex;
@ -569,7 +569,7 @@ MessagePattern::parseArg(int32_t index, int32_t argStartLength, int32_t nestingL
errorCode=U_INDEX_OUTOFBOUNDS_ERROR; errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
return 0; return 0;
} }
hasArgNames=TRUE; hasArgNames=true;
addPart(UMSGPAT_PART_TYPE_ARG_NAME, nameIndex, length, 0, errorCode); addPart(UMSGPAT_PART_TYPE_ARG_NAME, nameIndex, length, 0, errorCode);
} else { // number<-1 (ARG_NAME_NOT_VALID) } else { // number<-1 (ARG_NAME_NOT_VALID)
setParseError(parseError, nameIndex); // Bad argument syntax. setParseError(parseError, nameIndex); // Bad argument syntax.
@ -727,7 +727,7 @@ MessagePattern::parseChoiceStyle(int32_t index, int32_t nestingLevel,
errorCode=U_INDEX_OUTOFBOUNDS_ERROR; errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
return 0; return 0;
} }
parseDouble(numberIndex, index, TRUE, parseError, errorCode); // adds ARG_INT or ARG_DOUBLE parseDouble(numberIndex, index, true, parseError, errorCode); // adds ARG_INT or ARG_DOUBLE
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return 0; return 0;
} }
@ -774,8 +774,8 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
return 0; return 0;
} }
int32_t start=index; int32_t start=index;
UBool isEmpty=TRUE; UBool isEmpty=true;
UBool hasOther=FALSE; UBool hasOther=false;
for(;;) { for(;;) {
// First, collect the selector looking for a small set of terminators. // First, collect the selector looking for a small set of terminators.
// It would be a little faster to consider the syntax of each possible // It would be a little faster to consider the syntax of each possible
@ -811,7 +811,7 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
return 0; return 0;
} }
addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode); addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode);
parseDouble(selectorIndex+1, index, FALSE, parseDouble(selectorIndex+1, index, false,
parseError, errorCode); // adds ARG_INT or ARG_DOUBLE parseError, errorCode); // adds ARG_INT or ARG_DOUBLE
} else { } else {
index=skipIdentifier(index); index=skipIdentifier(index);
@ -845,12 +845,12 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
errorCode=U_INDEX_OUTOFBOUNDS_ERROR; errorCode=U_INDEX_OUTOFBOUNDS_ERROR;
return 0; return 0;
} }
parseDouble(valueIndex, index, FALSE, parseDouble(valueIndex, index, false,
parseError, errorCode); // adds ARG_INT or ARG_DOUBLE parseError, errorCode); // adds ARG_INT or ARG_DOUBLE
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return 0; return 0;
} }
isEmpty=FALSE; isEmpty=false;
continue; // no message fragment after the offset continue; // no message fragment after the offset
} else { } else {
// normal selector word // normal selector word
@ -861,7 +861,7 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
} }
addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode); addPart(UMSGPAT_PART_TYPE_ARG_SELECTOR, selectorIndex, length, 0, errorCode);
if(0==msg.compare(selectorIndex, length, kOther, 0, 5)) { if(0==msg.compare(selectorIndex, length, kOther, 0, 5)) {
hasOther=TRUE; hasOther=true;
} }
} }
} }
@ -880,7 +880,7 @@ MessagePattern::parsePluralOrSelectStyle(UMessagePatternArgType argType,
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return 0; return 0;
} }
isEmpty=FALSE; isEmpty=false;
} }
} }
@ -901,11 +901,11 @@ MessagePattern::parseArgNumber(const UnicodeString &s, int32_t start, int32_t li
return 0; return 0;
} else { } else {
number=0; number=0;
badNumber=TRUE; // leading zero badNumber=true; // leading zero
} }
} else if(0x31<=c && c<=0x39) { } else if(0x31<=c && c<=0x39) {
number=c-0x30; number=c-0x30;
badNumber=FALSE; badNumber=false;
} else { } else {
return UMSGPAT_ARG_NAME_NOT_NUMBER; return UMSGPAT_ARG_NAME_NOT_NUMBER;
} }
@ -913,7 +913,7 @@ MessagePattern::parseArgNumber(const UnicodeString &s, int32_t start, int32_t li
c=s.charAt(start++); c=s.charAt(start++);
if(0x30<=c && c<=0x39) { if(0x30<=c && c<=0x39) {
if(number>=INT32_MAX/10) { if(number>=INT32_MAX/10) {
badNumber=TRUE; // overflow badNumber=true; // overflow
} }
number=number*10+(c-0x30); number=number*10+(c-0x30);
} else { } else {

View File

@ -10,14 +10,14 @@
#ifdef INCLUDED_FROM_NORMALIZER2_CPP #ifdef INCLUDED_FROM_NORMALIZER2_CPP
static const UVersionInfo norm2_nfc_data_formatVersion={4,0,0,0}; static const UVersionInfo norm2_nfc_data_formatVersion={4,0,0,0};
static const UVersionInfo norm2_nfc_data_dataVersion={0xe,0,0,0}; static const UVersionInfo norm2_nfc_data_dataVersion={0xf,0,0,0};
static const int32_t norm2_nfc_data_indexes[Normalizer2Impl::IX_COUNT]={ static const int32_t norm2_nfc_data_indexes[Normalizer2Impl::IX_COUNT]={
0x50,0x4c54,0x88bc,0x89bc,0x89bc,0x89bc,0x89bc,0x89bc,0xc0,0x300,0xae2,0x29e0,0x3c66,0xfc00,0x1288,0x3b9c, 0x50,0x4cb8,0x8920,0x8a20,0x8a20,0x8a20,0x8a20,0x8a20,0xc0,0x300,0xae2,0x29e0,0x3c66,0xfc00,0x1288,0x3b9c,
0x3c34,0x3c66,0x300,0 0x3c34,0x3c66,0x300,0
}; };
static const uint16_t norm2_nfc_data_trieIndex[1748]={ static const uint16_t norm2_nfc_data_trieIndex[1788]={
0,0x40,0x7b,0xbb,0xfb,0x13a,0x17a,0x1b2,0x1f2,0x226,0x254,0x226,0x294,0x2d4,0x313,0x353, 0,0x40,0x7b,0xbb,0xfb,0x13a,0x17a,0x1b2,0x1f2,0x226,0x254,0x226,0x294,0x2d4,0x313,0x353,
0x393,0x3d2,0x40f,0x44e,0x226,0x226,0x488,0x4c8,0x4f8,0x530,0x226,0x570,0x59f,0x5de,0x226,0x5f3, 0x393,0x3d2,0x40f,0x44e,0x226,0x226,0x488,0x4c8,0x4f8,0x530,0x226,0x570,0x59f,0x5de,0x226,0x5f3,
0x631,0x65f,0x687,0x6bd,0x6fd,0x73a,0x75a,0x799,0x7d8,0x815,0x834,0x871,0x75a,0x8aa,0x8d8,0x917, 0x631,0x65f,0x687,0x6bd,0x6fd,0x73a,0x75a,0x799,0x7d8,0x815,0x834,0x871,0x75a,0x8aa,0x8d8,0x917,
@ -82,14 +82,14 @@ static const uint16_t norm2_nfc_data_trieIndex[1748]={
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x1880,0x18c0,0x1900,0x1940,0x1980,0x19c0,0x1a00,0x1a40,0x1a63,0x1aa3,0x226,0x226, 0x226,0x226,0x226,0x226,0x1880,0x18c0,0x1900,0x1940,0x1980,0x19c0,0x1a00,0x1a40,0x1a63,0x1aa3,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ac3,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ac3,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x657,0x666,0x67e,0x69d,0x6b2,0x6b2,0x6b2,0x6b6,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x67e,0x68e,0x6a6,0x6c5,0x6da,0x6da,0x6da,0x6de,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc0b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc0b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x54f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x40c, 0x226,0x226,0x226,0x226,0x226,0x226,0x54f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x40c,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1af6,0x226,0x226,0x1b06,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1af6,0x226,0x226,0x1b06,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0xdf7,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0xdf7,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1b16,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1b16,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1607,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1607,0x226,0x226,0x226,0x226,0x66b,0x226,0x226,0x226,
0x226,0x1b20,0x54f,0x226,0x226,0x1b30,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x81c,0x226,0x226, 0x226,0x1b20,0x54f,0x226,0x226,0x1b30,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x81c,0x226,0x226,
0x1b40,0x226,0x1b50,0x1b5d,0x1b69,0x226,0x226,0x226,0x226,0x414,0x226,0x1b74,0x1b84,0x226,0x226,0x226, 0x1b40,0x226,0x1b50,0x1b5d,0x1b69,0x226,0x226,0x226,0x226,0x414,0x226,0x1b74,0x1b84,0x226,0x226,0x226,
0x811,0x226,0x226,0x226,0x226,0x1b94,0x226,0x226,0x226,0x1b9f,0x226,0x226,0x226,0x226,0x226,0x226, 0x811,0x226,0x226,0x226,0x226,0x1b94,0x226,0x226,0x226,0x1b9f,0x226,0x226,0x226,0x226,0x226,0x226,
@ -104,33 +104,35 @@ static const uint16_t norm2_nfc_data_trieIndex[1748]={
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x9eb,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x9eb,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc05,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xc05,0x226,0x226,0x226,
0x226,0x81b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x81b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x1c3d,0x226,0x226,0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0xc08,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x1c3d,0x226,0x226,0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x1c4d,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c4f, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c4d,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x1c4f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c5e,0x1c6e,0x1c7c,0x1c89,0x226,
0x1c95,0x1ca3,0x1cb3,0x226,0x226,0x226,0x226,0xd1b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x1c5e,0x1c6e,0x1c7c,0x1c89,0x226,0x1c95,0x1ca3,0x1cb3,0x226,0x226, 0x226,0x226,0x226,0x1cc3,0x1ccb,0x1cd9,0x226,0x226,0x226,0x226,0x226,0x4f9,0x226,0x226,0x226,0x226,
0x226,0x226,0xd1b,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1cc3,0x1ccb, 0x226,0x226,0x226,0x7c9,0x226,0x226,0x226,0x4fc,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x1cd9,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ce4,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0xf2c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x7c9,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1cf4,0x226,0x226,0x226,0x226,
0x226,0x226,0x4fc,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x1d00,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1d10,0x1d20,
0x226,0x226,0x226,0x226,0x1ce9,0x226,0x226,0x226,0x226,0x226,0x226,0x1cf5,0x226,0x226,0x226,0x226, 0x1d30,0x1d40,0x1d50,0x1d60,0x1d70,0x1d80,0x1d90,0x1da0,0x1db0,0x1dc0,0x1dd0,0x1de0,0x1df0,0x1e00,0x1e10,0x1e20,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1d05,0x1d15,0x1d25,0x1d35,0x1d45,0x1d55,0x1d65,0x1d75,0x1d85, 0x1e30,0x1e40,0x1e50,0x1e60,0x1e70,0x1e80,0x1e90,0x1ea0,0x1eb0,0x1ec0,0x1ed0,0x1ee0,0x1ef0,0x1f00,0x1f10,0x1f20,
0x1d95,0x1da5,0x1db5,0x1dc5,0x1dd5,0x1de5,0x1df5,0x1e05,0x1e15,0x1e25,0x1e35,0x1e45,0x1e55,0x1e65,0x1e75,0x1e85,
0x1e95,0x1ea5,0x1eb5,0x1ec5,0x1ed5,0x1ee5,0x1ef5,0x1f05,0x1f15,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x408,0x428,0xc4,0xc4,0xc4,0x448,0x457,0x46d,0x489, 0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x408,0x428,
0x4a6,0x4c2,0x4df,0x4fc,0x51b,0x538,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4, 0xc4,0xc4,0xc4,0x448,0x457,0x46d,0x489,0x4a6,0x4c2,0x4df,0x4fc,0x51b,0x538,0x552,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x552,0xc4,0x566,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4, 0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x586,0xc4,0xc4,0xc4, 0xc4,0xc4,0xc4,0x567,0xc4,0x57b,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0x591,0x5ae,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5ce,0x5e4,0xc4,
0xc4,0x5f7,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4, 0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0x617,0x637 0xc4,0xc4,0xc4,0xc4,0x59b,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5a6,0x5c3,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0x5e3,0x5f9,0x60b,0xc4,0x61e,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x63e,0x65e
}; };
static const uint16_t norm2_nfc_data_trieData[7974]={ static const uint16_t norm2_nfc_data_trieData[7984]={
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@ -518,7 +520,7 @@ static const uint16_t norm2_nfc_data_trieData[7974]={
1,1,1,1,1,0x3c66,1,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,1,1,1, 1,1,1,1,1,0x3c66,1,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,0x3c66,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0x3c66, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0x3c66,
0x3c66,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0x3c66,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,0x3c66,1,1,1,1,0x3c66,1,1,1,0x3c66,1,0x3c66, 1,1,1,1,0x3c66,1,1,1,1,0x3c66,1,1,1,0x3c66,0x3c66,0x3c66,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@ -593,49 +595,49 @@ static const uint16_t norm2_nfc_data_trieData[7974]={
0x3304,0x331c,0x3334,0x334c,1,1,1,1,1,1,1,1,1,1,1,1, 0x3304,0x331c,0x3334,0x334c,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc, 1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
0xffcc,0xffcc,0xffcc,0xffcc,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,1,0xffcc, 0xffcc,0xffcc,0xffcc,0xffcc,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,1,0xffcc,
0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8, 0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xfe0e, 0xffd0,0xffd0,0xffb8,0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,1,1,1,1,1,
1,1,1,1,1,0x335b,0x335f,0x3363,0x3367,0x336d,0x2f4d,0x3371,0x3375,0x3379,0x337d,0x2f51, 1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xfe0e,1,1,1,1,1,
0x3381,0x3385,0x3389,0x2f55,0x338f,0x3393,0x3397,0x339b,0x33a1,0x33a5,0x33a9,0x33ad,0x33b3,0x33b7,0x33bb,0x33bf, 0x335b,0x335f,0x3363,0x3367,0x336d,0x2f4d,0x3371,0x3375,0x3379,0x337d,0x2f51,0x3381,0x3385,0x3389,0x2f55,0x338f,
0x303f,0x33c3,0x33c9,0x33cd,0x33d1,0x33d5,0x33d9,0x33dd,0x33e1,0x33e5,0x3053,0x2f59,0x2f5d,0x3057,0x33e9,0x33ed, 0x3393,0x3397,0x339b,0x33a1,0x33a5,0x33a9,0x33ad,0x33b3,0x33b7,0x33bb,0x33bf,0x303f,0x33c3,0x33c9,0x33cd,0x33d1,
0x2c59,0x33f1,0x2f61,0x33f5,0x33f9,0x33fd,0x3401,0x3401,0x3401,0x3405,0x340b,0x340f,0x3413,0x3417,0x341d,0x3421, 0x33d5,0x33d9,0x33dd,0x33e1,0x33e5,0x3053,0x2f59,0x2f5d,0x3057,0x33e9,0x33ed,0x2c59,0x33f1,0x2f61,0x33f5,0x33f9,
0x3425,0x3429,0x342d,0x3431,0x3435,0x3439,0x343d,0x3441,0x3445,0x3449,0x344d,0x344d,0x305f,0x3451,0x3455,0x3459, 0x33fd,0x3401,0x3401,0x3401,0x3405,0x340b,0x340f,0x3413,0x3417,0x341d,0x3421,0x3425,0x3429,0x342d,0x3431,0x3435,
0x345d,0x2f69,0x3461,0x3465,0x3469,0x2ebd,0x346d,0x3471,0x3475,0x3479,0x347d,0x3481,0x3485,0x3489,0x348d,0x3493, 0x3439,0x343d,0x3441,0x3445,0x3449,0x344d,0x344d,0x305f,0x3451,0x3455,0x3459,0x345d,0x2f69,0x3461,0x3465,0x3469,
0x3497,0x349b,0x349f,0x34a3,0x34a7,0x34ab,0x34b1,0x34b7,0x34bb,0x34bf,0x34c3,0x34c7,0x34cb,0x34cf,0x34d3,0x34d7, 0x2ebd,0x346d,0x3471,0x3475,0x3479,0x347d,0x3481,0x3485,0x3489,0x348d,0x3493,0x3497,0x349b,0x349f,0x34a3,0x34a7,
0x34d7,0x34db,0x34e1,0x34e5,0x2c49,0x34e9,0x34ed,0x34f3,0x34f7,0x34fb,0x34ff,0x3503,0x3507,0x2f7d,0x350b,0x350f, 0x34ab,0x34b1,0x34b7,0x34bb,0x34bf,0x34c3,0x34c7,0x34cb,0x34cf,0x34d3,0x34d7,0x34d7,0x34db,0x34e1,0x34e5,0x2c49,
0x3513,0x3519,0x351d,0x3523,0x3527,0x352b,0x352f,0x3533,0x3537,0x353b,0x353f,0x3543,0x3547,0x354b,0x354f,0x3555, 0x34e9,0x34ed,0x34f3,0x34f7,0x34fb,0x34ff,0x3503,0x3507,0x2f7d,0x350b,0x350f,0x3513,0x3519,0x351d,0x3523,0x3527,
0x3559,0x355d,0x3561,0x2b71,0x3565,0x356b,0x356f,0x356f,0x3575,0x3579,0x3579,0x357d,0x3581,0x3587,0x358d,0x3591, 0x352b,0x352f,0x3533,0x3537,0x353b,0x353f,0x3543,0x3547,0x354b,0x354f,0x3555,0x3559,0x355d,0x3561,0x2b71,0x3565,
0x3595,0x3599,0x359d,0x35a1,0x35a5,0x35a9,0x35ad,0x35b1,0x2f81,0x35b5,0x35bb,0x35bf,0x35c3,0x308f,0x35c3,0x35c7, 0x356b,0x356f,0x356f,0x3575,0x3579,0x3579,0x357d,0x3581,0x3587,0x358d,0x3591,0x3595,0x3599,0x359d,0x35a1,0x35a5,
0x2f89,0x35cb,0x35cf,0x35d3,0x35d7,0x2f8d,0x2b05,0x35db,0x35df,0x35e3,0x35e7,0x35eb,0x35ef,0x35f3,0x35f9,0x35fd, 0x35a9,0x35ad,0x35b1,0x2f81,0x35b5,0x35bb,0x35bf,0x35c3,0x308f,0x35c3,0x35c7,0x2f89,0x35cb,0x35cf,0x35d3,0x35d7,
0x3601,0x3605,0x3609,0x360d,0x3613,0x3617,0x361b,0x361f,0x3623,0x3627,0x362b,0x362f,0x3633,0x2f91,0x3637,0x363b, 0x2f8d,0x2b05,0x35db,0x35df,0x35e3,0x35e7,0x35eb,0x35ef,0x35f3,0x35f9,0x35fd,0x3601,0x3605,0x3609,0x360d,0x3613,
0x3641,0x3645,0x3649,0x364d,0x2f99,0x3651,0x3655,0x3659,0x365d,0x3661,0x3665,0x3669,0x366d,0x2b75,0x30af,0x3671, 0x3617,0x361b,0x361f,0x3623,0x3627,0x362b,0x362f,0x3633,0x2f91,0x3637,0x363b,0x3641,0x3645,0x3649,0x364d,0x2f99,
0x3675,0x3679,0x367d,0x3683,0x3687,0x368b,0x368f,0x2f9d,0x3693,0x3699,0x369d,0x36a1,0x3161,0x36a5,0x36a9,0x36ad, 0x3651,0x3655,0x3659,0x365d,0x3661,0x3665,0x3669,0x366d,0x2b75,0x30af,0x3671,0x3675,0x3679,0x367d,0x3683,0x3687,
0x36b1,0x36b5,0x36bb,0x36bf,0x36c3,0x36c7,0x36cd,0x36d1,0x36d5,0x36d9,0x2c8d,0x36dd,0x36e1,0x36e7,0x36ed,0x36f3, 0x368b,0x368f,0x2f9d,0x3693,0x3699,0x369d,0x36a1,0x3161,0x36a5,0x36a9,0x36ad,0x36b1,0x36b5,0x36bb,0x36bf,0x36c3,
0x36f7,0x36fd,0x3701,0x3705,0x3709,0x370d,0x2fa1,0x2de9,0x3711,0x3715,0x3719,0x371d,0x3723,0x3727,0x372b,0x372f, 0x36c7,0x36cd,0x36d1,0x36d5,0x36d9,0x2c8d,0x36dd,0x36e1,0x36e7,0x36ed,0x36f3,0x36f7,0x36fd,0x3701,0x3705,0x3709,
0x30bf,0x3733,0x3737,0x373d,0x3741,0x3745,0x374b,0x3751,0x3755,0x30c3,0x3759,0x375d,0x3761,0x3765,0x3769,0x376d, 0x370d,0x2fa1,0x2de9,0x3711,0x3715,0x3719,0x371d,0x3723,0x3727,0x372b,0x372f,0x30bf,0x3733,0x3737,0x373d,0x3741,
0x3771,0x3777,0x377b,0x3781,0x3785,0x378b,0x30cb,0x378f,0x3793,0x3799,0x379d,0x37a1,0x37a7,0x37ad,0x37b1,0x37b5, 0x3745,0x374b,0x3751,0x3755,0x30c3,0x3759,0x375d,0x3761,0x3765,0x3769,0x376d,0x3771,0x3777,0x377b,0x3781,0x3785,
0x37b9,0x37bd,0x37bd,0x37c1,0x37c5,0x30d3,0x37c9,0x37cd,0x37d1,0x37d5,0x37d9,0x37df,0x37e3,0x2c55,0x37e9,0x37ef, 0x378b,0x30cb,0x378f,0x3793,0x3799,0x379d,0x37a1,0x37a7,0x37ad,0x37b1,0x37b5,0x37b9,0x37bd,0x37bd,0x37c1,0x37c5,
0x37f3,0x37f9,0x37ff,0x3805,0x3809,0x30eb,0x380d,0x3813,0x3819,0x381f,0x3825,0x3829,0x3829,0x30ef,0x3169,0x382d, 0x30d3,0x37c9,0x37cd,0x37d1,0x37d5,0x37d9,0x37df,0x37e3,0x2c55,0x37e9,0x37ef,0x37f3,0x37f9,0x37ff,0x3805,0x3809,
0x3831,0x3835,0x3839,0x383f,0x2bbd,0x30f7,0x3843,0x3847,0x2fcd,0x384d,0x3853,0x2f15,0x3859,0x385d,0x2fdd,0x3861, 0x30eb,0x380d,0x3813,0x3819,0x381f,0x3825,0x3829,0x3829,0x30ef,0x3169,0x382d,0x3831,0x3835,0x3839,0x383f,0x2bbd,
0x3865,0x3869,0x386f,0x386f,0x3875,0x3879,0x387d,0x3883,0x3887,0x388b,0x388f,0x3895,0x3899,0x389d,0x38a1,0x38a5, 0x30f7,0x3843,0x3847,0x2fcd,0x384d,0x3853,0x2f15,0x3859,0x385d,0x2fdd,0x3861,0x3865,0x3869,0x386f,0x386f,0x3875,
0x38a9,0x38af,0x38b3,0x38b7,0x38bb,0x38bf,0x38c3,0x38c7,0x38cd,0x38d3,0x38d7,0x38dd,0x38e1,0x38e7,0x38eb,0x2ff5, 0x3879,0x387d,0x3883,0x3887,0x388b,0x388f,0x3895,0x3899,0x389d,0x38a1,0x38a5,0x38a9,0x38af,0x38b3,0x38b7,0x38bb,
0x38ef,0x38f5,0x38fb,0x38ff,0x3905,0x3909,0x390f,0x3913,0x3917,0x391b,0x391f,0x3923,0x3927,0x392d,0x3933,0x3939, 0x38bf,0x38c3,0x38c7,0x38cd,0x38d3,0x38d7,0x38dd,0x38e1,0x38e7,0x38eb,0x2ff5,0x38ef,0x38f5,0x38fb,0x38ff,0x3905,
0x3575,0x393f,0x3943,0x3947,0x394b,0x394f,0x3953,0x3957,0x395b,0x395f,0x3963,0x3967,0x396b,0x2c9d,0x3971,0x3975, 0x3909,0x390f,0x3913,0x3917,0x391b,0x391f,0x3923,0x3927,0x392d,0x3933,0x3939,0x3575,0x393f,0x3943,0x3947,0x394b,
0x3979,0x397d,0x3981,0x3985,0x3001,0x3989,0x398d,0x3991,0x3995,0x3999,0x399f,0x39a5,0x39ab,0x39af,0x39b3,0x39b7, 0x394f,0x3953,0x3957,0x395b,0x395f,0x3963,0x3967,0x396b,0x2c9d,0x3971,0x3975,0x3979,0x397d,0x3981,0x3985,0x3001,
0x39bb,0x39c1,0x39c5,0x39cb,0x39cf,0x39d3,0x39d9,0x39df,0x39e3,0x2ba9,0x39e7,0x39eb,0x39ef,0x39f3,0x39f7,0x39fb, 0x3989,0x398d,0x3991,0x3995,0x3999,0x399f,0x39a5,0x39ab,0x39af,0x39b3,0x39b7,0x39bb,0x39c1,0x39c5,0x39cb,0x39cf,
0x3113,0x39ff,0x3a03,0x3a07,0x3a0b,0x3a0f,0x3a13,0x3a17,0x3a1b,0x3a1f,0x3a23,0x3a29,0x3a2d,0x3a31,0x3a35,0x3a39, 0x39d3,0x39d9,0x39df,0x39e3,0x2ba9,0x39e7,0x39eb,0x39ef,0x39f3,0x39f7,0x39fb,0x3113,0x39ff,0x3a03,0x3a07,0x3a0b,
0x3a3d,0x3a43,0x3a49,0x3a4d,0x3a51,0x3127,0x312b,0x3a55,0x3a59,0x3a5f,0x3a63,0x3a67,0x3a6b,0x3a6f,0x3a75,0x3a7b, 0x3a0f,0x3a13,0x3a17,0x3a1b,0x3a1f,0x3a23,0x3a29,0x3a2d,0x3a31,0x3a35,0x3a39,0x3a3d,0x3a43,0x3a49,0x3a4d,0x3a51,
0x3a7f,0x3a83,0x3a87,0x3a8d,0x312f,0x3a91,0x3a97,0x3a9d,0x3aa1,0x3aa5,0x3aa9,0x3aaf,0x3ab3,0x3ab7,0x3abb,0x3abf, 0x3127,0x312b,0x3a55,0x3a59,0x3a5f,0x3a63,0x3a67,0x3a6b,0x3a6f,0x3a75,0x3a7b,0x3a7f,0x3a83,0x3a87,0x3a8d,0x312f,
0x3ac3,0x3ac7,0x3acb,0x3ad1,0x3ad5,0x3ad9,0x3add,0x3ae3,0x3ae7,0x3aeb,0x3aef,0x3af3,0x3af9,0x3aff,0x3b03,0x3b07, 0x3a91,0x3a97,0x3a9d,0x3aa1,0x3aa5,0x3aa9,0x3aaf,0x3ab3,0x3ab7,0x3abb,0x3abf,0x3ac3,0x3ac7,0x3acb,0x3ad1,0x3ad5,
0x3b0b,0x3b11,0x3b15,0x3147,0x3147,0x3b1b,0x3b1f,0x3b25,0x3b29,0x3b2d,0x3b31,0x3b35,0x3b39,0x3b3d,0x3b41,0x314b, 0x3ad9,0x3add,0x3ae3,0x3ae7,0x3aeb,0x3aef,0x3af3,0x3af9,0x3aff,0x3b03,0x3b07,0x3b0b,0x3b11,0x3b15,0x3147,0x3147,
0x3b47,0x3b4b,0x3b4f,0x3b53,0x3b57,0x3b5b,0x3b61,0x3b65,0x3b6b,0x3b71,0x3b77,0x3b7b,0x3b7f,0x3b83,0x3b87,0x3b8b, 0x3b1b,0x3b1f,0x3b25,0x3b29,0x3b2d,0x3b31,0x3b35,0x3b39,0x3b3d,0x3b41,0x314b,0x3b47,0x3b4b,0x3b4f,0x3b53,0x3b57,
0x3b8f,0x3b93,0x3b97,1,1,1 0x3b5b,0x3b61,0x3b65,0x3b6b,0x3b71,0x3b77,0x3b7b,0x3b7f,0x3b83,0x3b87,0x3b8b,0x3b8f,0x3b93,0x3b97,1,1
}; };
static const UCPTrie norm2_nfc_data_trie={ static const UCPTrie norm2_nfc_data_trie={
norm2_nfc_data_trieIndex, norm2_nfc_data_trieIndex,
{ norm2_nfc_data_trieData }, { norm2_nfc_data_trieData },
1748, 7974, 1788, 7984,
0x2fc00, 0x30, 0x2fc00, 0x30,
0, 0, 0, 0,
0, 0, 0, 0,

View File

@ -62,7 +62,7 @@ Normalizer2::normalizeUTF8(uint32_t /*options*/, StringPiece src, ByteSink &sink
UBool UBool
Normalizer2::getRawDecomposition(UChar32, UnicodeString &) const { Normalizer2::getRawDecomposition(UChar32, UnicodeString &) const {
return FALSE; return false;
} }
UChar32 UChar32
@ -142,7 +142,7 @@ class NoopNormalizer2 : public Normalizer2 {
} }
virtual UBool virtual UBool
getDecomposition(UChar32, UnicodeString &) const U_OVERRIDE { getDecomposition(UChar32, UnicodeString &) const U_OVERRIDE {
return FALSE; return false;
} }
// No need to U_OVERRIDE the default getRawDecomposition(). // No need to U_OVERRIDE the default getRawDecomposition().
virtual UBool virtual UBool
@ -161,9 +161,9 @@ class NoopNormalizer2 : public Normalizer2 {
spanQuickCheckYes(const UnicodeString &s, UErrorCode &) const U_OVERRIDE { spanQuickCheckYes(const UnicodeString &s, UErrorCode &) const U_OVERRIDE {
return s.length(); return s.length();
} }
virtual UBool hasBoundaryBefore(UChar32) const U_OVERRIDE { return TRUE; } virtual UBool hasBoundaryBefore(UChar32) const U_OVERRIDE { return true; }
virtual UBool hasBoundaryAfter(UChar32) const U_OVERRIDE { return TRUE; } virtual UBool hasBoundaryAfter(UChar32) const U_OVERRIDE { return true; }
virtual UBool isInert(UChar32) const U_OVERRIDE { return TRUE; } virtual UBool isInert(UChar32) const U_OVERRIDE { return true; }
}; };
NoopNormalizer2::~NoopNormalizer2() {} NoopNormalizer2::~NoopNormalizer2() {}
@ -183,7 +183,7 @@ static UBool U_CALLCONV uprv_normalizer2_cleanup();
U_CDECL_END U_CDECL_END
static Normalizer2 *noopSingleton; static Normalizer2 *noopSingleton;
static icu::UInitOnce noopInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce noopInitOnce {};
static void U_CALLCONV initNoopSingleton(UErrorCode &errorCode) { static void U_CALLCONV initNoopSingleton(UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
@ -245,7 +245,7 @@ Norm2AllModes::createNFCInstance(UErrorCode &errorCode) {
static Norm2AllModes *nfcSingleton; static Norm2AllModes *nfcSingleton;
static icu::UInitOnce nfcInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce nfcInitOnce {};
static void U_CALLCONV initNFCSingleton(UErrorCode &errorCode) { static void U_CALLCONV initNFCSingleton(UErrorCode &errorCode) {
nfcSingleton=Norm2AllModes::createNFCInstance(errorCode); nfcSingleton=Norm2AllModes::createNFCInstance(errorCode);
@ -299,7 +299,7 @@ static UBool U_CALLCONV uprv_normalizer2_cleanup() {
nfcSingleton = NULL; nfcSingleton = NULL;
nfcInitOnce.reset(); nfcInitOnce.reset();
#endif #endif
return TRUE; return true;
} }
U_CDECL_END U_CDECL_END
@ -423,7 +423,7 @@ unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2,
return normalizeSecondAndAppend(norm2, return normalizeSecondAndAppend(norm2,
first, firstLength, firstCapacity, first, firstLength, firstCapacity,
second, secondLength, second, secondLength,
TRUE, pErrorCode); true, pErrorCode);
} }
U_CAPI int32_t U_EXPORT2 U_CAPI int32_t U_EXPORT2
@ -434,7 +434,7 @@ unorm2_append(const UNormalizer2 *norm2,
return normalizeSecondAndAppend(norm2, return normalizeSecondAndAppend(norm2,
first, firstLength, firstCapacity, first, firstLength, firstCapacity,
second, secondLength, second, secondLength,
FALSE, pErrorCode); false, pErrorCode);
} }
U_CAPI int32_t U_EXPORT2 U_CAPI int32_t U_EXPORT2

View File

@ -185,7 +185,7 @@ UBool ReorderingBuffer::init(int32_t destCapacity, UErrorCode &errorCode) {
if(start==NULL) { if(start==NULL) {
// getBuffer() already did str.setToBogus() // getBuffer() already did str.setToBogus()
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
limit=start+length; limit=start+length;
remainingCapacity=str.getCapacity()-length; remainingCapacity=str.getCapacity()-length;
@ -201,7 +201,7 @@ UBool ReorderingBuffer::init(int32_t destCapacity, UErrorCode &errorCode) {
} }
reorderStart=codePointLimit; reorderStart=codePointLimit;
} }
return TRUE; return true;
} }
UBool ReorderingBuffer::equals(const UChar *otherStart, const UChar *otherLimit) const { UBool ReorderingBuffer::equals(const UChar *otherStart, const UChar *otherLimit) const {
@ -217,7 +217,7 @@ UBool ReorderingBuffer::equals(const uint8_t *otherStart, const uint8_t *otherLi
int32_t otherLength = (int32_t)(otherLimit - otherStart); int32_t otherLength = (int32_t)(otherLimit - otherStart);
// For equal strings, UTF-8 is at least as long as UTF-16, and at most three times as long. // For equal strings, UTF-8 is at least as long as UTF-16, and at most three times as long.
if (otherLength < length || (otherLength / 3) > length) { if (otherLength < length || (otherLength / 3) > length) {
return FALSE; return false;
} }
// Compare valid strings from between normalization boundaries. // Compare valid strings from between normalization boundaries.
// (Invalid sequences are normalization-inert.) // (Invalid sequences are normalization-inert.)
@ -225,21 +225,21 @@ UBool ReorderingBuffer::equals(const uint8_t *otherStart, const uint8_t *otherLi
if (i >= length) { if (i >= length) {
return j >= otherLength; return j >= otherLength;
} else if (j >= otherLength) { } else if (j >= otherLength) {
return FALSE; return false;
} }
// Not at the end of either string yet. // Not at the end of either string yet.
UChar32 c, other; UChar32 c, other;
U16_NEXT_UNSAFE(start, i, c); U16_NEXT_UNSAFE(start, i, c);
U8_NEXT_UNSAFE(otherStart, j, other); U8_NEXT_UNSAFE(otherStart, j, other);
if (c != other) { if (c != other) {
return FALSE; return false;
} }
} }
} }
UBool ReorderingBuffer::appendSupplementary(UChar32 c, uint8_t cc, UErrorCode &errorCode) { UBool ReorderingBuffer::appendSupplementary(UChar32 c, uint8_t cc, UErrorCode &errorCode) {
if(remainingCapacity<2 && !resize(2, errorCode)) { if(remainingCapacity<2 && !resize(2, errorCode)) {
return FALSE; return false;
} }
if(lastCC<=cc || cc==0) { if(lastCC<=cc || cc==0) {
limit[0]=U16_LEAD(c); limit[0]=U16_LEAD(c);
@ -253,17 +253,17 @@ UBool ReorderingBuffer::appendSupplementary(UChar32 c, uint8_t cc, UErrorCode &e
insert(c, cc); insert(c, cc);
} }
remainingCapacity-=2; remainingCapacity-=2;
return TRUE; return true;
} }
UBool ReorderingBuffer::append(const UChar *s, int32_t length, UBool isNFD, UBool ReorderingBuffer::append(const UChar *s, int32_t length, UBool isNFD,
uint8_t leadCC, uint8_t trailCC, uint8_t leadCC, uint8_t trailCC,
UErrorCode &errorCode) { UErrorCode &errorCode) {
if(length==0) { if(length==0) {
return TRUE; return true;
} }
if(remainingCapacity<length && !resize(length, errorCode)) { if(remainingCapacity<length && !resize(length, errorCode)) {
return FALSE; return false;
} }
remainingCapacity-=length; remainingCapacity-=length;
if(lastCC<=leadCC || leadCC==0) { if(lastCC<=leadCC || leadCC==0) {
@ -294,13 +294,13 @@ UBool ReorderingBuffer::append(const UChar *s, int32_t length, UBool isNFD,
append(c, leadCC, errorCode); append(c, leadCC, errorCode);
} }
} }
return TRUE; return true;
} }
UBool ReorderingBuffer::appendZeroCC(UChar32 c, UErrorCode &errorCode) { UBool ReorderingBuffer::appendZeroCC(UChar32 c, UErrorCode &errorCode) {
int32_t cpLength=U16_LENGTH(c); int32_t cpLength=U16_LENGTH(c);
if(remainingCapacity<cpLength && !resize(cpLength, errorCode)) { if(remainingCapacity<cpLength && !resize(cpLength, errorCode)) {
return FALSE; return false;
} }
remainingCapacity-=cpLength; remainingCapacity-=cpLength;
if(cpLength==1) { if(cpLength==1) {
@ -312,23 +312,23 @@ UBool ReorderingBuffer::appendZeroCC(UChar32 c, UErrorCode &errorCode) {
} }
lastCC=0; lastCC=0;
reorderStart=limit; reorderStart=limit;
return TRUE; return true;
} }
UBool ReorderingBuffer::appendZeroCC(const UChar *s, const UChar *sLimit, UErrorCode &errorCode) { UBool ReorderingBuffer::appendZeroCC(const UChar *s, const UChar *sLimit, UErrorCode &errorCode) {
if(s==sLimit) { if(s==sLimit) {
return TRUE; return true;
} }
int32_t length=(int32_t)(sLimit-s); int32_t length=(int32_t)(sLimit-s);
if(remainingCapacity<length && !resize(length, errorCode)) { if(remainingCapacity<length && !resize(length, errorCode)) {
return FALSE; return false;
} }
u_memcpy(limit, s, length); u_memcpy(limit, s, length);
limit+=length; limit+=length;
remainingCapacity-=length; remainingCapacity-=length;
lastCC=0; lastCC=0;
reorderStart=limit; reorderStart=limit;
return TRUE; return true;
} }
void ReorderingBuffer::remove() { void ReorderingBuffer::remove() {
@ -365,12 +365,12 @@ UBool ReorderingBuffer::resize(int32_t appendLength, UErrorCode &errorCode) {
if(start==NULL) { if(start==NULL) {
// getBuffer() already did str.setToBogus() // getBuffer() already did str.setToBogus()
errorCode=U_MEMORY_ALLOCATION_ERROR; errorCode=U_MEMORY_ALLOCATION_ERROR;
return FALSE; return false;
} }
reorderStart=start+reorderStartIndex; reorderStart=start+reorderStartIndex;
limit=start+length; limit=start+length;
remainingCapacity=str.getCapacity()-length; remainingCapacity=str.getCapacity()-length;
return TRUE; return true;
} }
void ReorderingBuffer::skipPrevious() { void ReorderingBuffer::skipPrevious() {
@ -728,7 +728,7 @@ UBool Normalizer2Impl::decompose(UChar32 c, uint16_t norm16,
} else { } else {
leadCC=0; leadCC=0;
} }
return buffer.append((const UChar *)mapping+1, length, TRUE, leadCC, trailCC, errorCode); return buffer.append((const UChar *)mapping+1, length, true, leadCC, trailCC, errorCode);
} }
// Dual functionality: // Dual functionality:
@ -820,11 +820,11 @@ Normalizer2Impl::decomposeUTF8(uint32_t options,
if (U_FAILURE(errorCode)) { if (U_FAILURE(errorCode)) {
break; break;
} }
decomposeShort(prevBoundary, src, STOP_AT_LIMIT, FALSE /* onlyContiguous */, decomposeShort(prevBoundary, src, STOP_AT_LIMIT, false /* onlyContiguous */,
buffer, errorCode); buffer, errorCode);
// Decompose until the next boundary. // Decompose until the next boundary.
if (buffer.getLastCC() > 1) { if (buffer.getLastCC() > 1) {
src = decomposeShort(src, limit, STOP_AT_DECOMP_BOUNDARY, FALSE /* onlyContiguous */, src = decomposeShort(src, limit, STOP_AT_DECOMP_BOUNDARY, false /* onlyContiguous */,
buffer, errorCode); buffer, errorCode);
} }
if (U_FAILURE(errorCode)) { if (U_FAILURE(errorCode)) {
@ -931,7 +931,7 @@ Normalizer2Impl::decomposeShort(const uint8_t *src, const uint8_t *limit,
if (leadCC == 0 && stopAt == STOP_AT_DECOMP_BOUNDARY) { if (leadCC == 0 && stopAt == STOP_AT_DECOMP_BOUNDARY) {
return prevSrc; return prevSrc;
} }
if (!buffer.append((const char16_t *)mapping+1, length, TRUE, leadCC, trailCC, errorCode)) { if (!buffer.append((const char16_t *)mapping+1, length, true, leadCC, trailCC, errorCode)) {
return nullptr; return nullptr;
} }
} }
@ -1052,7 +1052,7 @@ void Normalizer2Impl::decomposeAndAppend(const UChar *src, const UChar *limit,
limit=u_strchr(p, 0); limit=u_strchr(p, 0);
} }
if (buffer.append(src, (int32_t)(p - src), FALSE, firstCC, prevCC, errorCode)) { if (buffer.append(src, (int32_t)(p - src), false, firstCC, prevCC, errorCode)) {
buffer.appendZeroCC(p, limit, errorCode); buffer.appendZeroCC(p, limit, errorCode);
} }
} }
@ -1064,7 +1064,7 @@ UBool Normalizer2Impl::hasDecompBoundaryBefore(UChar32 c) const {
UBool Normalizer2Impl::norm16HasDecompBoundaryBefore(uint16_t norm16) const { UBool Normalizer2Impl::norm16HasDecompBoundaryBefore(uint16_t norm16) const {
if (norm16 < minNoNoCompNoMaybeCC) { if (norm16 < minNoNoCompNoMaybeCC) {
return TRUE; return true;
} }
if (norm16 >= limitNoNo) { if (norm16 >= limitNoNo) {
return norm16 <= MIN_NORMAL_MAYBE_YES || norm16 == JAMO_VT; return norm16 <= MIN_NORMAL_MAYBE_YES || norm16 == JAMO_VT;
@ -1072,23 +1072,23 @@ UBool Normalizer2Impl::norm16HasDecompBoundaryBefore(uint16_t norm16) const {
// c decomposes, get everything from the variable-length extra data // c decomposes, get everything from the variable-length extra data
const uint16_t *mapping=getMapping(norm16); const uint16_t *mapping=getMapping(norm16);
uint16_t firstUnit=*mapping; uint16_t firstUnit=*mapping;
// TRUE if leadCC==0 (hasFCDBoundaryBefore()) // true if leadCC==0 (hasFCDBoundaryBefore())
return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0; return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0;
} }
UBool Normalizer2Impl::hasDecompBoundaryAfter(UChar32 c) const { UBool Normalizer2Impl::hasDecompBoundaryAfter(UChar32 c) const {
if (c < minDecompNoCP) { if (c < minDecompNoCP) {
return TRUE; return true;
} }
if (c <= 0xffff && !singleLeadMightHaveNonZeroFCD16(c)) { if (c <= 0xffff && !singleLeadMightHaveNonZeroFCD16(c)) {
return TRUE; return true;
} }
return norm16HasDecompBoundaryAfter(getNorm16(c)); return norm16HasDecompBoundaryAfter(getNorm16(c));
} }
UBool Normalizer2Impl::norm16HasDecompBoundaryAfter(uint16_t norm16) const { UBool Normalizer2Impl::norm16HasDecompBoundaryAfter(uint16_t norm16) const {
if(norm16 <= minYesNo || isHangulLVT(norm16)) { if(norm16 <= minYesNo || isHangulLVT(norm16)) {
return TRUE; return true;
} }
if (norm16 >= limitNoNo) { if (norm16 >= limitNoNo) {
if (isMaybeOrNonZeroCC(norm16)) { if (isMaybeOrNonZeroCC(norm16)) {
@ -1103,13 +1103,13 @@ UBool Normalizer2Impl::norm16HasDecompBoundaryAfter(uint16_t norm16) const {
// decomp after-boundary: same as hasFCDBoundaryAfter(), // decomp after-boundary: same as hasFCDBoundaryAfter(),
// fcd16<=1 || trailCC==0 // fcd16<=1 || trailCC==0
if(firstUnit>0x1ff) { if(firstUnit>0x1ff) {
return FALSE; // trailCC>1 return false; // trailCC>1
} }
if(firstUnit<=0xff) { if(firstUnit<=0xff) {
return TRUE; // trailCC==0 return true; // trailCC==0
} }
// if(trailCC==1) test leadCC==0, same as checking for before-boundary // if(trailCC==1) test leadCC==0, same as checking for before-boundary
// TRUE if leadCC==0 (hasFCDBoundaryBefore()) // true if leadCC==0 (hasFCDBoundaryBefore())
return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0; return (firstUnit&MAPPING_HAS_CCC_LCCC_WORD)==0 || (*(mapping-1)&0xff00)==0;
} }
@ -1235,7 +1235,7 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
// and are only initialized now to avoid compiler warnings. // and are only initialized now to avoid compiler warnings.
compositionsList=NULL; // used as indicator for whether we have a forward-combining starter compositionsList=NULL; // used as indicator for whether we have a forward-combining starter
starter=NULL; starter=NULL;
starterIsSupplementary=FALSE; starterIsSupplementary=false;
prevCC=0; prevCC=0;
for(;;) { for(;;) {
@ -1301,7 +1301,7 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
*starter=(UChar)composite; *starter=(UChar)composite;
// The composite is shorter than the starter, // The composite is shorter than the starter,
// move the intermediate characters forward one. // move the intermediate characters forward one.
starterIsSupplementary=FALSE; starterIsSupplementary=false;
q=starter+1; q=starter+1;
r=q+1; r=q+1;
while(r<pRemove) { while(r<pRemove) {
@ -1312,7 +1312,7 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
} else if(U_IS_SUPPLEMENTARY(composite)) { } else if(U_IS_SUPPLEMENTARY(composite)) {
// The composite is longer than the starter, // The composite is longer than the starter,
// move the intermediate characters back one. // move the intermediate characters back one.
starterIsSupplementary=TRUE; starterIsSupplementary=true;
++starter; // temporarily increment for the loop boundary ++starter; // temporarily increment for the loop boundary
q=pRemove; q=pRemove;
r=++pRemove; r=++pRemove;
@ -1366,10 +1366,10 @@ void Normalizer2Impl::recompose(ReorderingBuffer &buffer, int32_t recomposeStart
if((compositionsList=getCompositionsListForDecompYes(norm16))!=NULL) { if((compositionsList=getCompositionsListForDecompYes(norm16))!=NULL) {
// It may combine with something, prepare for it. // It may combine with something, prepare for it.
if(U_IS_BMP(c)) { if(U_IS_BMP(c)) {
starterIsSupplementary=FALSE; starterIsSupplementary=false;
starter=p-1; starter=p-1;
} else { } else {
starterIsSupplementary=TRUE; starterIsSupplementary=true;
starter=p-2; starter=p-2;
} }
} }
@ -1447,7 +1447,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
doCompose ? &buffer : NULL, doCompose ? &buffer : NULL,
errorCode); errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
limit=u_strchr(src, 0); limit=u_strchr(src, 0);
if (prevBoundary != src) { if (prevBoundary != src) {
@ -1471,7 +1471,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
if (prevBoundary != limit && doCompose) { if (prevBoundary != limit && doCompose) {
buffer.appendZeroCC(prevBoundary, limit, errorCode); buffer.appendZeroCC(prevBoundary, limit, errorCode);
} }
return TRUE; return true;
} }
if( (c=*src)<minNoMaybeCP || if( (c=*src)<minNoMaybeCP ||
isCompYesAndZeroCC(norm16=UCPTRIE_FAST_BMP_GET(normTrie, UCPTRIE_16, c)) isCompYesAndZeroCC(norm16=UCPTRIE_FAST_BMP_GET(normTrie, UCPTRIE_16, c))
@ -1503,7 +1503,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
// Medium-fast path: Handle cases that do not require full decomposition and recomposition. // Medium-fast path: Handle cases that do not require full decomposition and recomposition.
if (!isMaybeOrNonZeroCC(norm16)) { // minNoNo <= norm16 < minMaybeYes if (!isMaybeOrNonZeroCC(norm16)) { // minNoNo <= norm16 < minMaybeYes
if (!doCompose) { if (!doCompose) {
return FALSE; return false;
} }
// Fast path for mapping a character that is immediately surrounded by boundaries. // Fast path for mapping a character that is immediately surrounded by boundaries.
// In this case, we need not decompose around the current character. // In this case, we need not decompose around the current character.
@ -1559,7 +1559,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
UChar l = (UChar)(prev-Hangul::JAMO_L_BASE); UChar l = (UChar)(prev-Hangul::JAMO_L_BASE);
if(l<Hangul::JAMO_L_COUNT) { if(l<Hangul::JAMO_L_COUNT) {
if (!doCompose) { if (!doCompose) {
return FALSE; return false;
} }
int32_t t; int32_t t;
if (src != limit && if (src != limit &&
@ -1599,7 +1599,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
// The current character is a Jamo Trailing consonant, // The current character is a Jamo Trailing consonant,
// compose with previous Hangul LV that does not contain a Jamo T. // compose with previous Hangul LV that does not contain a Jamo T.
if (!doCompose) { if (!doCompose) {
return FALSE; return false;
} }
UChar32 syllable = prev + c - Hangul::JAMO_T_BASE; UChar32 syllable = prev + c - Hangul::JAMO_T_BASE;
--prevSrc; // Replace the Hangul LV as well. --prevSrc; // Replace the Hangul LV as well.
@ -1622,7 +1622,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) { if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) {
// Fails FCD test, need to decompose and contiguously recompose. // Fails FCD test, need to decompose and contiguously recompose.
if (!doCompose) { if (!doCompose) {
return FALSE; return false;
} }
} else { } else {
// If !onlyContiguous (not FCC), then we ignore the tccc of // If !onlyContiguous (not FCC), then we ignore the tccc of
@ -1634,7 +1634,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
if (doCompose) { if (doCompose) {
buffer.appendZeroCC(prevBoundary, limit, errorCode); buffer.appendZeroCC(prevBoundary, limit, errorCode);
} }
return TRUE; return true;
} }
uint8_t prevCC = cc; uint8_t prevCC = cc;
nextSrc = src; nextSrc = src;
@ -1643,7 +1643,7 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
cc = getCCFromNormalYesOrMaybe(n16); cc = getCCFromNormalYesOrMaybe(n16);
if (prevCC > cc) { if (prevCC > cc) {
if (!doCompose) { if (!doCompose) {
return FALSE; return false;
} }
break; break;
} }
@ -1678,28 +1678,28 @@ Normalizer2Impl::compose(const UChar *src, const UChar *limit,
} }
int32_t recomposeStartIndex=buffer.length(); int32_t recomposeStartIndex=buffer.length();
// We know there is not a boundary here. // We know there is not a boundary here.
decomposeShort(prevSrc, src, FALSE /* !stopAtCompBoundary */, onlyContiguous, decomposeShort(prevSrc, src, false /* !stopAtCompBoundary */, onlyContiguous,
buffer, errorCode); buffer, errorCode);
// Decompose until the next boundary. // Decompose until the next boundary.
src = decomposeShort(src, limit, TRUE /* stopAtCompBoundary */, onlyContiguous, src = decomposeShort(src, limit, true /* stopAtCompBoundary */, onlyContiguous,
buffer, errorCode); buffer, errorCode);
if (U_FAILURE(errorCode)) { if (U_FAILURE(errorCode)) {
break; break;
} }
if ((src - prevSrc) > INT32_MAX) { // guard before buffer.equals() if ((src - prevSrc) > INT32_MAX) { // guard before buffer.equals()
errorCode = U_INDEX_OUTOFBOUNDS_ERROR; errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
return TRUE; return true;
} }
recompose(buffer, recomposeStartIndex, onlyContiguous); recompose(buffer, recomposeStartIndex, onlyContiguous);
if(!doCompose) { if(!doCompose) {
if(!buffer.equals(prevSrc, src)) { if(!buffer.equals(prevSrc, src)) {
return FALSE; return false;
} }
buffer.remove(); buffer.remove();
} }
prevBoundary=src; prevBoundary=src;
} }
return TRUE; return true;
} }
// Very similar to compose(): Make the same changes in both places if relevant. // Very similar to compose(): Make the same changes in both places if relevant.
@ -1846,7 +1846,7 @@ void Normalizer2Impl::composeAndAppend(const UChar *src, const UChar *limit,
middle.append(src, (int32_t)(firstStarterInSrc-src)); middle.append(src, (int32_t)(firstStarterInSrc-src));
const UChar *middleStart=middle.getBuffer(); const UChar *middleStart=middle.getBuffer();
compose(middleStart, middleStart+middle.length(), onlyContiguous, compose(middleStart, middleStart+middle.length(), onlyContiguous,
TRUE, buffer, errorCode); true, buffer, errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return; return;
} }
@ -1854,7 +1854,7 @@ void Normalizer2Impl::composeAndAppend(const UChar *src, const UChar *limit,
} }
} }
if(doCompose) { if(doCompose) {
compose(src, limit, onlyContiguous, TRUE, buffer, errorCode); compose(src, limit, onlyContiguous, true, buffer, errorCode);
} else { } else {
if(limit==NULL) { // appendZeroCC() needs limit!=NULL if(limit==NULL) { // appendZeroCC() needs limit!=NULL
limit=u_strchr(src, 0); limit=u_strchr(src, 0);
@ -1883,7 +1883,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
ByteSinkUtil::appendUnchanged(prevBoundary, limit, ByteSinkUtil::appendUnchanged(prevBoundary, limit,
*sink, options, edits, errorCode); *sink, options, edits, errorCode);
} }
return TRUE; return true;
} }
if (*src < minNoMaybeLead) { if (*src < minNoMaybeLead) {
++src; ++src;
@ -1904,7 +1904,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
// Medium-fast path: Handle cases that do not require full decomposition and recomposition. // Medium-fast path: Handle cases that do not require full decomposition and recomposition.
if (!isMaybeOrNonZeroCC(norm16)) { // minNoNo <= norm16 < minMaybeYes if (!isMaybeOrNonZeroCC(norm16)) { // minNoNo <= norm16 < minMaybeYes
if (sink == nullptr) { if (sink == nullptr) {
return FALSE; return false;
} }
// Fast path for mapping a character that is immediately surrounded by boundaries. // Fast path for mapping a character that is immediately surrounded by boundaries.
// In this case, we need not decompose around the current character. // In this case, we need not decompose around the current character.
@ -1972,7 +1972,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
UChar32 l = prev - Hangul::JAMO_L_BASE; UChar32 l = prev - Hangul::JAMO_L_BASE;
if ((uint32_t)l < Hangul::JAMO_L_COUNT) { if ((uint32_t)l < Hangul::JAMO_L_COUNT) {
if (sink == nullptr) { if (sink == nullptr) {
return FALSE; return false;
} }
int32_t t = getJamoTMinusBase(src, limit); int32_t t = getJamoTMinusBase(src, limit);
if (t >= 0) { if (t >= 0) {
@ -2008,7 +2008,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
// The current character is a Jamo Trailing consonant, // The current character is a Jamo Trailing consonant,
// compose with previous Hangul LV that does not contain a Jamo T. // compose with previous Hangul LV that does not contain a Jamo T.
if (sink == nullptr) { if (sink == nullptr) {
return FALSE; return false;
} }
UChar32 syllable = prev + getJamoTMinusBase(prevSrc, src); UChar32 syllable = prev + getJamoTMinusBase(prevSrc, src);
prevSrc -= 3; // Replace the Hangul LV as well. prevSrc -= 3; // Replace the Hangul LV as well.
@ -2031,7 +2031,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) { if (onlyContiguous /* FCC */ && getPreviousTrailCC(prevBoundary, prevSrc) > cc) {
// Fails FCD test, need to decompose and contiguously recompose. // Fails FCD test, need to decompose and contiguously recompose.
if (sink == nullptr) { if (sink == nullptr) {
return FALSE; return false;
} }
} else { } else {
// If !onlyContiguous (not FCC), then we ignore the tccc of // If !onlyContiguous (not FCC), then we ignore the tccc of
@ -2044,7 +2044,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
ByteSinkUtil::appendUnchanged(prevBoundary, limit, ByteSinkUtil::appendUnchanged(prevBoundary, limit,
*sink, options, edits, errorCode); *sink, options, edits, errorCode);
} }
return TRUE; return true;
} }
uint8_t prevCC = cc; uint8_t prevCC = cc;
nextSrc = src; nextSrc = src;
@ -2053,7 +2053,7 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
cc = getCCFromNormalYesOrMaybe(n16); cc = getCCFromNormalYesOrMaybe(n16);
if (prevCC > cc) { if (prevCC > cc) {
if (sink == nullptr) { if (sink == nullptr) {
return FALSE; return false;
} }
break; break;
} }
@ -2098,12 +2098,12 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
} }
if ((src - prevSrc) > INT32_MAX) { // guard before buffer.equals() if ((src - prevSrc) > INT32_MAX) { // guard before buffer.equals()
errorCode = U_INDEX_OUTOFBOUNDS_ERROR; errorCode = U_INDEX_OUTOFBOUNDS_ERROR;
return TRUE; return true;
} }
recompose(buffer, 0, onlyContiguous); recompose(buffer, 0, onlyContiguous);
if (!buffer.equals(prevSrc, src)) { if (!buffer.equals(prevSrc, src)) {
if (sink == nullptr) { if (sink == nullptr) {
return FALSE; return false;
} }
if (prevBoundary != prevSrc && if (prevBoundary != prevSrc &&
!ByteSinkUtil::appendUnchanged(prevBoundary, prevSrc, !ByteSinkUtil::appendUnchanged(prevBoundary, prevSrc,
@ -2117,12 +2117,12 @@ Normalizer2Impl::composeUTF8(uint32_t options, UBool onlyContiguous,
prevBoundary = src; prevBoundary = src;
} }
} }
return TRUE; return true;
} }
UBool Normalizer2Impl::hasCompBoundaryBefore(const UChar *src, const UChar *limit) const { UBool Normalizer2Impl::hasCompBoundaryBefore(const UChar *src, const UChar *limit) const {
if (src == limit || *src < minCompNoMaybeCP) { if (src == limit || *src < minCompNoMaybeCP) {
return TRUE; return true;
} }
UChar32 c; UChar32 c;
uint16_t norm16; uint16_t norm16;
@ -2132,7 +2132,7 @@ UBool Normalizer2Impl::hasCompBoundaryBefore(const UChar *src, const UChar *limi
UBool Normalizer2Impl::hasCompBoundaryBefore(const uint8_t *src, const uint8_t *limit) const { UBool Normalizer2Impl::hasCompBoundaryBefore(const uint8_t *src, const uint8_t *limit) const {
if (src == limit) { if (src == limit) {
return TRUE; return true;
} }
uint16_t norm16; uint16_t norm16;
UCPTRIE_FAST_U8_NEXT(normTrie, UCPTRIE_16, src, limit, norm16); UCPTRIE_FAST_U8_NEXT(normTrie, UCPTRIE_16, src, limit, norm16);
@ -2142,7 +2142,7 @@ UBool Normalizer2Impl::hasCompBoundaryBefore(const uint8_t *src, const uint8_t *
UBool Normalizer2Impl::hasCompBoundaryAfter(const UChar *start, const UChar *p, UBool Normalizer2Impl::hasCompBoundaryAfter(const UChar *start, const UChar *p,
UBool onlyContiguous) const { UBool onlyContiguous) const {
if (start == p) { if (start == p) {
return TRUE; return true;
} }
UChar32 c; UChar32 c;
uint16_t norm16; uint16_t norm16;
@ -2153,7 +2153,7 @@ UBool Normalizer2Impl::hasCompBoundaryAfter(const UChar *start, const UChar *p,
UBool Normalizer2Impl::hasCompBoundaryAfter(const uint8_t *start, const uint8_t *p, UBool Normalizer2Impl::hasCompBoundaryAfter(const uint8_t *start, const uint8_t *p,
UBool onlyContiguous) const { UBool onlyContiguous) const {
if (start == p) { if (start == p) {
return TRUE; return true;
} }
uint16_t norm16; uint16_t norm16;
UCPTRIE_FAST_U8_PREV(normTrie, UCPTRIE_16, start, p, norm16); UCPTRIE_FAST_U8_PREV(normTrie, UCPTRIE_16, start, p, norm16);
@ -2399,7 +2399,7 @@ Normalizer2Impl::makeFCD(const UChar *src, const UChar *limit,
* The source text does not fulfill the conditions for FCD. * The source text does not fulfill the conditions for FCD.
* Decompose and reorder a limited piece of the text. * Decompose and reorder a limited piece of the text.
*/ */
decomposeShort(prevBoundary, src, FALSE, FALSE, *buffer, errorCode); decomposeShort(prevBoundary, src, false, false, *buffer, errorCode);
if (U_FAILURE(errorCode)) { if (U_FAILURE(errorCode)) {
break; break;
} }
@ -2665,7 +2665,7 @@ UBool Normalizer2Impl::isCanonSegmentStarter(UChar32 c) const {
UBool Normalizer2Impl::getCanonStartSet(UChar32 c, UnicodeSet &set) const { UBool Normalizer2Impl::getCanonStartSet(UChar32 c, UnicodeSet &set) const {
int32_t canonValue=getCanonValue(c)&~CANON_NOT_SEGMENT_STARTER; int32_t canonValue=getCanonValue(c)&~CANON_NOT_SEGMENT_STARTER;
if(canonValue==0) { if(canonValue==0) {
return FALSE; return false;
} }
set.clear(); set.clear();
int32_t value=canonValue&CANON_VALUE_MASK; int32_t value=canonValue&CANON_VALUE_MASK;
@ -2684,7 +2684,7 @@ UBool Normalizer2Impl::getCanonStartSet(UChar32 c, UnicodeSet &set) const {
addComposites(getCompositionsList(norm16), set); addComposites(getCompositionsList(norm16), set);
} }
} }
return TRUE; return true;
} }
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -131,7 +131,7 @@ public:
} }
} }
private: private:
Hangul(); // no instantiation Hangul() = delete; // no instantiation
}; };
class Normalizer2Impl; class Normalizer2Impl;
@ -730,7 +730,7 @@ private:
const uint16_t *extraData; // mappings and/or compositions for yesYes, yesNo & noNo characters const uint16_t *extraData; // mappings and/or compositions for yesYes, yesNo & noNo characters
const uint8_t *smallFCD; // [0x100] one bit per 32 BMP code points, set if any FCD!=0 const uint8_t *smallFCD; // [0x100] one bit per 32 BMP code points, set if any FCD!=0
UInitOnce fCanonIterDataInitOnce = U_INITONCE_INITIALIZER; UInitOnce fCanonIterDataInitOnce {};
CanonIterData *fCanonIterData; CanonIterData *fCanonIterData;
}; };
@ -759,7 +759,7 @@ public:
// Must be used only when it is known that norm2 is a Normalizer2WithImpl instance. // Must be used only when it is known that norm2 is a Normalizer2WithImpl instance.
static const Normalizer2Impl *getImpl(const Normalizer2 *norm2); static const Normalizer2Impl *getImpl(const Normalizer2 *norm2);
private: private:
Normalizer2Factory(); // No instantiation. Normalizer2Factory() = delete; // No instantiation.
}; };
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -205,7 +205,7 @@ Normalizer::isNormalized(const UnicodeString& source,
return n2->isNormalized(source, status); return n2->isNormalized(source, status);
} }
} else { } else {
return FALSE; return false;
} }
} }
@ -483,7 +483,7 @@ Normalizer::nextNormalize() {
currentIndex=nextIndex; currentIndex=nextIndex;
text->setIndex(nextIndex); text->setIndex(nextIndex);
if(!text->hasNext()) { if(!text->hasNext()) {
return FALSE; return false;
} }
// Skip at least one character so we make progress. // Skip at least one character so we make progress.
UnicodeString segment(text->next32PostInc()); UnicodeString segment(text->next32PostInc());
@ -507,7 +507,7 @@ Normalizer::previousNormalize() {
nextIndex=currentIndex; nextIndex=currentIndex;
text->setIndex(currentIndex); text->setIndex(currentIndex);
if(!text->hasPrevious()) { if(!text->hasPrevious()) {
return FALSE; return false;
} }
UnicodeString segment; UnicodeString segment;
while(text->hasPrevious()) { while(text->hasPrevious()) {

View File

@ -118,49 +118,49 @@ static const uint32_t syntaxOrWhiteSpace2000[]={
UBool UBool
PatternProps::isSyntax(UChar32 c) { PatternProps::isSyntax(UChar32 c) {
if(c<0) { if(c<0) {
return FALSE; return false;
} else if(c<=0xff) { } else if(c<=0xff) {
return (UBool)(latin1[c]>>1)&1; return (UBool)(latin1[c]>>1)&1;
} else if(c<0x2010) { } else if(c<0x2010) {
return FALSE; return false;
} else if(c<=0x3030) { } else if(c<=0x3030) {
uint32_t bits=syntax2000[index2000[(c-0x2000)>>5]]; uint32_t bits=syntax2000[index2000[(c-0x2000)>>5]];
return (UBool)((bits>>(c&0x1f))&1); return (UBool)((bits>>(c&0x1f))&1);
} else if(0xfd3e<=c && c<=0xfe46) { } else if(0xfd3e<=c && c<=0xfe46) {
return c<=0xfd3f || 0xfe45<=c; return c<=0xfd3f || 0xfe45<=c;
} else { } else {
return FALSE; return false;
} }
} }
UBool UBool
PatternProps::isSyntaxOrWhiteSpace(UChar32 c) { PatternProps::isSyntaxOrWhiteSpace(UChar32 c) {
if(c<0) { if(c<0) {
return FALSE; return false;
} else if(c<=0xff) { } else if(c<=0xff) {
return (UBool)(latin1[c]&1); return (UBool)(latin1[c]&1);
} else if(c<0x200e) { } else if(c<0x200e) {
return FALSE; return false;
} else if(c<=0x3030) { } else if(c<=0x3030) {
uint32_t bits=syntaxOrWhiteSpace2000[index2000[(c-0x2000)>>5]]; uint32_t bits=syntaxOrWhiteSpace2000[index2000[(c-0x2000)>>5]];
return (UBool)((bits>>(c&0x1f))&1); return (UBool)((bits>>(c&0x1f))&1);
} else if(0xfd3e<=c && c<=0xfe46) { } else if(0xfd3e<=c && c<=0xfe46) {
return c<=0xfd3f || 0xfe45<=c; return c<=0xfd3f || 0xfe45<=c;
} else { } else {
return FALSE; return false;
} }
} }
UBool UBool
PatternProps::isWhiteSpace(UChar32 c) { PatternProps::isWhiteSpace(UChar32 c) {
if(c<0) { if(c<0) {
return FALSE; return false;
} else if(c<=0xff) { } else if(c<=0xff) {
return (UBool)(latin1[c]>>2)&1; return (UBool)(latin1[c]>>2)&1;
} else if(0x200e<=c && c<=0x2029) { } else if(0x200e<=c && c<=0x2029) {
return c<=0x200f || 0x2028<=c; return c<=0x200f || 0x2028<=c;
} else { } else {
return FALSE; return false;
} }
} }
@ -207,15 +207,15 @@ PatternProps::trimWhiteSpace(const UChar *s, int32_t &length) {
UBool UBool
PatternProps::isIdentifier(const UChar *s, int32_t length) { PatternProps::isIdentifier(const UChar *s, int32_t length) {
if(length<=0) { if(length<=0) {
return FALSE; return false;
} }
const UChar *limit=s+length; const UChar *limit=s+length;
do { do {
if(isSyntaxOrWhiteSpace(*s++)) { if(isSyntaxOrWhiteSpace(*s++)) {
return FALSE; return false;
} }
} while(s<limit); } while(s<limit);
return TRUE; return true;
} }
const UChar * const UChar *

View File

@ -90,7 +90,7 @@ public:
static const UChar *skipIdentifier(const UChar *s, int32_t length); static const UChar *skipIdentifier(const UChar *s, int32_t length);
private: private:
PatternProps(); // no constructor: all static methods PatternProps() = delete; // no constructor: all static methods
}; };
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -218,7 +218,7 @@ const char *PropNameData::getName(const char *nameGroup, int32_t nameIndex) {
UBool PropNameData::containsName(BytesTrie &trie, const char *name) { UBool PropNameData::containsName(BytesTrie &trie, const char *name) {
if(name==NULL) { if(name==NULL) {
return FALSE; return false;
} }
UStringTrieResult result=USTRINGTRIE_NO_VALUE; UStringTrieResult result=USTRINGTRIE_NO_VALUE;
char c; char c;
@ -229,7 +229,7 @@ UBool PropNameData::containsName(BytesTrie &trie, const char *name) {
continue; continue;
} }
if(!USTRINGTRIE_HAS_NEXT(result)) { if(!USTRINGTRIE_HAS_NEXT(result)) {
return FALSE; return false;
} }
result=trie.next((uint8_t)c); result=trie.next((uint8_t)c);
} }

File diff suppressed because it is too large Load Diff

View File

@ -351,7 +351,7 @@ upvec_compact(UPropsVectors *pv, UPVecCompactHandler *handler, void *context, UE
} }
/* Set the flag now: Sorting and compacting destroys the builder data structure. */ /* Set the flag now: Sorting and compacting destroys the builder data structure. */
pv->isCompacted=TRUE; pv->isCompacted=true;
rows=pv->rows; rows=pv->rows;
columns=pv->columns; columns=pv->columns;
@ -360,7 +360,7 @@ upvec_compact(UPropsVectors *pv, UPVecCompactHandler *handler, void *context, UE
/* sort the properties vectors to find unique vector values */ /* sort the properties vectors to find unique vector values */
uprv_sortArray(pv->v, rows, columns*4, uprv_sortArray(pv->v, rows, columns*4,
upvec_compareRows, pv, FALSE, pErrorCode); upvec_compareRows, pv, false, pErrorCode);
if(U_FAILURE(*pErrorCode)) { if(U_FAILURE(*pErrorCode)) {
return; return;
} }
@ -503,7 +503,7 @@ upvec_compactToUTrie2Handler(void *context,
(void)columns; (void)columns;
UPVecToUTrie2Context *toUTrie2=(UPVecToUTrie2Context *)context; UPVecToUTrie2Context *toUTrie2=(UPVecToUTrie2Context *)context;
if(start<UPVEC_FIRST_SPECIAL_CP) { if(start<UPVEC_FIRST_SPECIAL_CP) {
utrie2_setRange32(toUTrie2->trie, start, end, (uint32_t)rowIndex, TRUE, pErrorCode); utrie2_setRange32(toUTrie2->trie, start, end, (uint32_t)rowIndex, true, pErrorCode);
} else { } else {
switch(start) { switch(start) {
case UPVEC_INITIAL_VALUE_CP: case UPVEC_INITIAL_VALUE_CP:

View File

@ -573,7 +573,7 @@ u_strFromPunycode(const UChar *src, int32_t srcLength,
/* Case of last character determines uppercase flag: */ /* Case of last character determines uppercase flag: */
caseFlags[codeUnitIndex]=IS_BASIC_UPPERCASE(src[in-1]); caseFlags[codeUnitIndex]=IS_BASIC_UPPERCASE(src[in-1]);
if(cpLength==2) { if(cpLength==2) {
caseFlags[codeUnitIndex+1]=FALSE; caseFlags[codeUnitIndex+1]=false;
} }
} }
} }

View File

@ -244,7 +244,7 @@ u_signBit(double d) {
*/ */
UDate fakeClock_t0 = 0; /** Time to start the clock from **/ UDate fakeClock_t0 = 0; /** Time to start the clock from **/
UDate fakeClock_dt = 0; /** Offset (fake time - real time) **/ UDate fakeClock_dt = 0; /** Offset (fake time - real time) **/
UBool fakeClock_set = FALSE; /** True if fake clock has spun up **/ UBool fakeClock_set = false; /** True if fake clock has spun up **/
static UDate getUTCtime_real() { static UDate getUTCtime_real() {
struct timeval posixTime; struct timeval posixTime;
@ -269,7 +269,7 @@ static UDate getUTCtime_fake() {
fprintf(stderr,"U_DEBUG_FAKETIME was set at compile time, but U_FAKETIME_START was not set.\n" fprintf(stderr,"U_DEBUG_FAKETIME was set at compile time, but U_FAKETIME_START was not set.\n"
"Set U_FAKETIME_START to the number of milliseconds since 1/1/1970 to set the ICU clock.\n"); "Set U_FAKETIME_START to the number of milliseconds since 1/1/1970 to set the ICU clock.\n");
} }
fakeClock_set = TRUE; fakeClock_set = true;
} }
umtx_unlock(&fakeClockMutex); umtx_unlock(&fakeClockMutex);
@ -905,7 +905,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
int32_t sizeFileRead; int32_t sizeFileRead;
int32_t sizeFileToRead; int32_t sizeFileToRead;
char bufferFile[MAX_READ_SIZE]; char bufferFile[MAX_READ_SIZE];
UBool result = TRUE; UBool result = true;
if (tzInfo->defaultTZFilePtr == NULL) { if (tzInfo->defaultTZFilePtr == NULL) {
tzInfo->defaultTZFilePtr = fopen(defaultTZFileName, "r"); tzInfo->defaultTZFilePtr = fopen(defaultTZFileName, "r");
@ -925,7 +925,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
sizeFileLeft = sizeFile; sizeFileLeft = sizeFile;
if (sizeFile != tzInfo->defaultTZFileSize) { if (sizeFile != tzInfo->defaultTZFileSize) {
result = FALSE; result = false;
} else { } else {
/* Store the data from the files in separate buffers and /* Store the data from the files in separate buffers and
* compare each byte to determine equality. * compare each byte to determine equality.
@ -942,7 +942,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
sizeFileRead = fread(bufferFile, 1, sizeFileToRead, file); sizeFileRead = fread(bufferFile, 1, sizeFileToRead, file);
if (memcmp(tzInfo->defaultTZBuffer + tzInfo->defaultTZPosition, bufferFile, sizeFileRead) != 0) { if (memcmp(tzInfo->defaultTZBuffer + tzInfo->defaultTZPosition, bufferFile, sizeFileRead) != 0) {
result = FALSE; result = false;
break; break;
} }
sizeFileLeft -= sizeFileRead; sizeFileLeft -= sizeFileRead;
@ -950,7 +950,7 @@ static UBool compareBinaryFiles(const char* defaultTZFileName, const char* TZFil
} }
} }
} else { } else {
result = FALSE; result = false;
} }
if (file != NULL) { if (file != NULL) {
@ -1189,7 +1189,7 @@ uprv_tzname(int n)
tzInfo->defaultTZBuffer = NULL; tzInfo->defaultTZBuffer = NULL;
tzInfo->defaultTZFileSize = 0; tzInfo->defaultTZFileSize = 0;
tzInfo->defaultTZFilePtr = NULL; tzInfo->defaultTZFilePtr = NULL;
tzInfo->defaultTZstatus = FALSE; tzInfo->defaultTZstatus = false;
tzInfo->defaultTZPosition = 0; tzInfo->defaultTZPosition = 0;
gTimeZoneBufferPtr = searchForTZFile(TZZONEINFO, tzInfo); gTimeZoneBufferPtr = searchForTZFile(TZZONEINFO, tzInfo);
@ -1260,10 +1260,10 @@ uprv_tzname(int n)
/* Get and set the ICU data directory --------------------------------------- */ /* Get and set the ICU data directory --------------------------------------- */
static icu::UInitOnce gDataDirInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce gDataDirInitOnce {};
static char *gDataDirectory = NULL; static char *gDataDirectory = NULL;
UInitOnce gTimeZoneFilesInitOnce = U_INITONCE_INITIALIZER; UInitOnce gTimeZoneFilesInitOnce {};
static CharString *gTimeZoneFilesDirectory = NULL; static CharString *gTimeZoneFilesDirectory = NULL;
#if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API #if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
@ -1295,7 +1295,7 @@ static UBool U_CALLCONV putil_cleanup(void)
gCorrectedPOSIXLocaleHeapAllocated = false; gCorrectedPOSIXLocaleHeapAllocated = false;
} }
#endif #endif
return TRUE; return true;
} }
/* /*
@ -1344,16 +1344,16 @@ U_CAPI UBool U_EXPORT2
uprv_pathIsAbsolute(const char *path) uprv_pathIsAbsolute(const char *path)
{ {
if(!path || !*path) { if(!path || !*path) {
return FALSE; return false;
} }
if(*path == U_FILE_SEP_CHAR) { if(*path == U_FILE_SEP_CHAR) {
return TRUE; return true;
} }
#if (U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR) #if (U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR)
if(*path == U_FILE_ALT_SEP_CHAR) { if(*path == U_FILE_ALT_SEP_CHAR) {
return TRUE; return true;
} }
#endif #endif
@ -1361,11 +1361,11 @@ uprv_pathIsAbsolute(const char *path)
if( (((path[0] >= 'A') && (path[0] <= 'Z')) || if( (((path[0] >= 'A') && (path[0] <= 'Z')) ||
((path[0] >= 'a') && (path[0] <= 'z'))) && ((path[0] >= 'a') && (path[0] <= 'z'))) &&
path[1] == ':' ) { path[1] == ':' ) {
return TRUE; return true;
} }
#endif #endif
return FALSE; return false;
} }
/* Backup setting of ICU_DATA_DIR_PREFIX_ENV_VAR /* Backup setting of ICU_DATA_DIR_PREFIX_ENV_VAR
@ -1402,12 +1402,12 @@ static BOOL U_CALLCONV getIcuDataDirectoryUnderWindowsDirectory(char* directoryB
if ((windowsPathUtf8Len + UPRV_LENGTHOF(ICU_DATA_DIR_WINDOWS)) < bufferLength) { if ((windowsPathUtf8Len + UPRV_LENGTHOF(ICU_DATA_DIR_WINDOWS)) < bufferLength) {
uprv_strcpy(directoryBuffer, windowsPathUtf8); uprv_strcpy(directoryBuffer, windowsPathUtf8);
uprv_strcat(directoryBuffer, ICU_DATA_DIR_WINDOWS); uprv_strcat(directoryBuffer, ICU_DATA_DIR_WINDOWS);
return TRUE; return true;
} }
} }
} }
return FALSE; return false;
} }
#endif #endif

View File

@ -39,7 +39,7 @@
#include "uvectr32.h" #include "uvectr32.h"
#ifdef RBBI_DEBUG #ifdef RBBI_DEBUG
static UBool gTrace = FALSE; static UBool gTrace = false;
#endif #endif
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
@ -267,7 +267,7 @@ RuleBasedBreakIterator::operator=(const RuleBasedBreakIterator& that) {
} }
// TODO: clone fLanguageBreakEngines from "that" // TODO: clone fLanguageBreakEngines from "that"
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
utext_clone(&fText, &that.fText, FALSE, TRUE, &status); utext_clone(&fText, &that.fText, false, true, &status);
if (fCharIter != &fSCharIter) { if (fCharIter != &fSCharIter) {
delete fCharIter; delete fCharIter;
@ -354,13 +354,13 @@ void RuleBasedBreakIterator::init(UErrorCode &status) {
} }
#ifdef RBBI_DEBUG #ifdef RBBI_DEBUG
static UBool debugInitDone = FALSE; static UBool debugInitDone = false;
if (debugInitDone == FALSE) { if (debugInitDone == false) {
char *debugEnv = getenv("U_RBBIDEBUG"); char *debugEnv = getenv("U_RBBIDEBUG");
if (debugEnv && uprv_strstr(debugEnv, "trace")) { if (debugEnv && uprv_strstr(debugEnv, "trace")) {
gTrace = TRUE; gTrace = true;
} }
debugInitDone = TRUE; debugInitDone = true;
} }
#endif #endif
} }
@ -439,7 +439,7 @@ void RuleBasedBreakIterator::setText(UText *ut, UErrorCode &status) {
} }
fBreakCache->reset(); fBreakCache->reset();
fDictionaryCache->reset(); fDictionaryCache->reset();
utext_clone(&fText, ut, FALSE, TRUE, &status); utext_clone(&fText, ut, false, true, &status);
// Set up a dummy CharacterIterator to be returned if anyone // Set up a dummy CharacterIterator to be returned if anyone
// calls getText(). With input from UText, there is no reasonable // calls getText(). With input from UText, there is no reasonable
@ -460,7 +460,7 @@ void RuleBasedBreakIterator::setText(UText *ut, UErrorCode &status) {
UText *RuleBasedBreakIterator::getUText(UText *fillIn, UErrorCode &status) const { UText *RuleBasedBreakIterator::getUText(UText *fillIn, UErrorCode &status) const {
UText *result = utext_clone(fillIn, &fText, FALSE, TRUE, &status); UText *result = utext_clone(fillIn, &fText, false, true, &status);
return result; return result;
} }
@ -548,7 +548,7 @@ RuleBasedBreakIterator &RuleBasedBreakIterator::refreshInputText(UText *input, U
} }
int64_t pos = utext_getNativeIndex(&fText); int64_t pos = utext_getNativeIndex(&fText);
// Shallow read-only clone of the new UText into the existing input UText // Shallow read-only clone of the new UText into the existing input UText
utext_clone(&fText, input, FALSE, TRUE, &status); utext_clone(&fText, input, false, true, &status);
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
return *this; return *this;
} }
@ -696,7 +696,7 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
// out-of-range indexes are never boundary positions // out-of-range indexes are never boundary positions
if (offset < 0) { if (offset < 0) {
first(); // For side effects on current position, tag values. first(); // For side effects on current position, tag values.
return FALSE; return false;
} }
// Adjust offset to be on a code point boundary and not beyond the end of the text. // Adjust offset to be on a code point boundary and not beyond the end of the text.
@ -713,9 +713,9 @@ UBool RuleBasedBreakIterator::isBoundary(int32_t offset) {
} }
if (result && adjustedOffset < offset && utext_char32At(&fText, offset) == U_SENTINEL) { if (result && adjustedOffset < offset && utext_char32At(&fText, offset) == U_SENTINEL) {
// Original offset is beyond the end of the text. Return FALSE, it's not a boundary, // Original offset is beyond the end of the text. Return false, it's not a boundary,
// but the iteration position remains set to the end of the text, which is a boundary. // but the iteration position remains set to the end of the text, which is a boundary.
return FALSE; return false;
} }
if (!result) { if (!result) {
// Not on a boundary. isBoundary() must leave iterator on the following boundary. // Not on a boundary. isBoundary() must leave iterator on the following boundary.
@ -838,7 +838,7 @@ int32_t RuleBasedBreakIterator::handleNext() {
result = initialPosition; result = initialPosition;
c = UTEXT_NEXT32(&fText); c = UTEXT_NEXT32(&fText);
if (c==U_SENTINEL) { if (c==U_SENTINEL) {
fDone = TRUE; fDone = true;
return UBRK_DONE; return UBRK_DONE;
} }
@ -1153,8 +1153,8 @@ U_NAMESPACE_END
static icu::UStack *gLanguageBreakFactories = nullptr; static icu::UStack *gLanguageBreakFactories = nullptr;
static const icu::UnicodeString *gEmptyString = nullptr; static const icu::UnicodeString *gEmptyString = nullptr;
static icu::UInitOnce gLanguageBreakFactoriesInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce gLanguageBreakFactoriesInitOnce {};
static icu::UInitOnce gRBBIInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce gRBBIInitOnce {};
/** /**
* Release all static memory held by breakiterator. * Release all static memory held by breakiterator.
@ -1167,7 +1167,7 @@ UBool U_CALLCONV rbbi_cleanup(void) {
gEmptyString = nullptr; gEmptyString = nullptr;
gLanguageBreakFactoriesInitOnce.reset(); gLanguageBreakFactoriesInitOnce.reset();
gRBBIInitOnce.reset(); gRBBIInitOnce.reset();
return TRUE; return true;
} }
U_CDECL_END U_CDECL_END

View File

@ -45,7 +45,7 @@ void RuleBasedBreakIterator::DictionaryCache::reset() {
UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_t *result, int32_t *statusIndex) { UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
if (fromPos >= fLimit || fromPos < fStart) { if (fromPos >= fLimit || fromPos < fStart) {
fPositionInCache = -1; fPositionInCache = -1;
return FALSE; return false;
} }
// Sequential iteration, move from previous boundary to the following // Sequential iteration, move from previous boundary to the following
@ -55,13 +55,13 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
++fPositionInCache; ++fPositionInCache;
if (fPositionInCache >= fBreaks.size()) { if (fPositionInCache >= fBreaks.size()) {
fPositionInCache = -1; fPositionInCache = -1;
return FALSE; return false;
} }
r = fBreaks.elementAti(fPositionInCache); r = fBreaks.elementAti(fPositionInCache);
U_ASSERT(r > fromPos); U_ASSERT(r > fromPos);
*result = r; *result = r;
*statusIndex = fOtherRuleStatusIndex; *statusIndex = fOtherRuleStatusIndex;
return TRUE; return true;
} }
// Random indexing. Linear search for the boundary following the given position. // Random indexing. Linear search for the boundary following the given position.
@ -71,7 +71,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
if (r > fromPos) { if (r > fromPos) {
*result = r; *result = r;
*statusIndex = fOtherRuleStatusIndex; *statusIndex = fOtherRuleStatusIndex;
return TRUE; return true;
} }
} }
UPRV_UNREACHABLE_EXIT; UPRV_UNREACHABLE_EXIT;
@ -81,7 +81,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_t *result, int32_t *statusIndex) { UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_t *result, int32_t *statusIndex) {
if (fromPos <= fStart || fromPos > fLimit) { if (fromPos <= fStart || fromPos > fLimit) {
fPositionInCache = -1; fPositionInCache = -1;
return FALSE; return false;
} }
if (fromPos == fLimit) { if (fromPos == fLimit) {
@ -98,12 +98,12 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
U_ASSERT(r < fromPos); U_ASSERT(r < fromPos);
*result = r; *result = r;
*statusIndex = ( r== fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex; *statusIndex = ( r== fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
return TRUE; return true;
} }
if (fPositionInCache == 0) { if (fPositionInCache == 0) {
fPositionInCache = -1; fPositionInCache = -1;
return FALSE; return false;
} }
for (fPositionInCache = fBreaks.size()-1; fPositionInCache >= 0; --fPositionInCache) { for (fPositionInCache = fBreaks.size()-1; fPositionInCache >= 0; --fPositionInCache) {
@ -111,7 +111,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
if (r < fromPos) { if (r < fromPos) {
*result = r; *result = r;
*statusIndex = ( r == fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex; *statusIndex = ( r == fStart) ? fFirstRuleStatusIndex : fOtherRuleStatusIndex;
return TRUE; return true;
} }
} }
UPRV_UNREACHABLE_EXIT; UPRV_UNREACHABLE_EXIT;
@ -227,7 +227,7 @@ void RuleBasedBreakIterator::BreakCache::reset(int32_t pos, int32_t ruleStatus)
int32_t RuleBasedBreakIterator::BreakCache::current() { int32_t RuleBasedBreakIterator::BreakCache::current() {
fBI->fPosition = fTextIdx; fBI->fPosition = fTextIdx;
fBI->fRuleStatusIndex = fStatuses[fBufIdx]; fBI->fRuleStatusIndex = fStatuses[fBufIdx];
fBI->fDone = FALSE; fBI->fDone = false;
return fTextIdx; return fTextIdx;
} }
@ -302,18 +302,18 @@ void RuleBasedBreakIterator::BreakCache::previous(UErrorCode &status) {
UBool RuleBasedBreakIterator::BreakCache::seek(int32_t pos) { UBool RuleBasedBreakIterator::BreakCache::seek(int32_t pos) {
if (pos < fBoundaries[fStartBufIdx] || pos > fBoundaries[fEndBufIdx]) { if (pos < fBoundaries[fStartBufIdx] || pos > fBoundaries[fEndBufIdx]) {
return FALSE; return false;
} }
if (pos == fBoundaries[fStartBufIdx]) { if (pos == fBoundaries[fStartBufIdx]) {
// Common case: seek(0), from BreakIterator::first() // Common case: seek(0), from BreakIterator::first()
fBufIdx = fStartBufIdx; fBufIdx = fStartBufIdx;
fTextIdx = fBoundaries[fBufIdx]; fTextIdx = fBoundaries[fBufIdx];
return TRUE; return true;
} }
if (pos == fBoundaries[fEndBufIdx]) { if (pos == fBoundaries[fEndBufIdx]) {
fBufIdx = fEndBufIdx; fBufIdx = fEndBufIdx;
fTextIdx = fBoundaries[fBufIdx]; fTextIdx = fBoundaries[fBufIdx];
return TRUE; return true;
} }
int32_t min = fStartBufIdx; int32_t min = fStartBufIdx;
@ -331,51 +331,97 @@ UBool RuleBasedBreakIterator::BreakCache::seek(int32_t pos) {
fBufIdx = modChunkSize(max - 1); fBufIdx = modChunkSize(max - 1);
fTextIdx = fBoundaries[fBufIdx]; fTextIdx = fBoundaries[fBufIdx];
U_ASSERT(fTextIdx <= pos); U_ASSERT(fTextIdx <= pos);
return TRUE; return true;
} }
UBool RuleBasedBreakIterator::BreakCache::populateNear(int32_t position, UErrorCode &status) { UBool RuleBasedBreakIterator::BreakCache::populateNear(int32_t position, UErrorCode &status) {
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
return FALSE; return false;
} }
U_ASSERT(position < fBoundaries[fStartBufIdx] || position > fBoundaries[fEndBufIdx]); U_ASSERT(position < fBoundaries[fStartBufIdx] || position > fBoundaries[fEndBufIdx]);
// Find a boundary somewhere in the vicinity of the requested position. // Add boundaries to the cache near the specified position.
// Depending on the safe rules and the text data, it could be either before, at, or after // The given position need not be a boundary itself.
// the requested position. // The input position must be within the range of the text, and
// on a code point boundary.
// If the requested position is a break boundary, leave the iteration
// position on it.
// If the requested position is not a boundary, leave the iteration
// position on the preceding boundary and include both the
// preceding and following boundaries in the cache.
// Additional boundaries, either preceding or following, may be added
// to the cache as a side effect.
// If the requested position is not near already cached positions, clear the existing cache, // If the requested position is not near already cached positions, clear the existing cache,
// find a near-by boundary and begin new cache contents there. // find a near-by boundary and begin new cache contents there.
if ((position < fBoundaries[fStartBufIdx] - 15) || position > (fBoundaries[fEndBufIdx] + 15)) { // Threshold for a text position to be considered near to existing cache contents.
int32_t aBoundary = 0; // TODO: See issue ICU-22024 "perf tuning of Cache needed."
int32_t ruleStatusIndex = 0; // This value is subject to change. See the ticket for more details.
if (position > 20) { static constexpr int32_t CACHE_NEAR = 15;
int32_t backupPos = fBI->handleSafePrevious(position);
if (backupPos > 0) { int32_t aBoundary = -1;
// Advance to the boundary following the backup position. int32_t ruleStatusIndex = 0;
// There is a complication: the safe reverse rules identify pairs of code points bool retainCache = false;
// that are safe. If advancing from the safe point moves forwards by less than if ((position > fBoundaries[fStartBufIdx] - CACHE_NEAR) && position < (fBoundaries[fEndBufIdx] + CACHE_NEAR)) {
// two code points, we need to advance one more time to ensure that the boundary // Requested position is near the existing cache. Retain it.
// is good, including a correct rules status value. retainCache = true;
// } else if (position <= CACHE_NEAR) {
fBI->fPosition = backupPos; // Requested position is near the start of the text. Fill cache from start, skipping
aBoundary = fBI->handleNext(); // the need to find a safe point.
if (aBoundary <= backupPos + 4) { retainCache = false;
// +4 is a quick test for possibly having advanced only one codepoint. aBoundary = 0;
// Four being the length of the longest potential code point, a supplementary in UTF-8 } else {
utext_setNativeIndex(&fBI->fText, aBoundary); // Requested position is not near the existing cache.
if (backupPos == utext_getPreviousNativeIndex(&fBI->fText)) { // Find a safe point to refill the cache from.
// The initial handleNext() only advanced by a single code point. Go again. int32_t backupPos = fBI->handleSafePrevious(position);
aBoundary = fBI->handleNext(); // Safe rules identify safe pairs.
} if (fBoundaries[fEndBufIdx] < position && fBoundaries[fEndBufIdx] >= (backupPos - CACHE_NEAR)) {
// The requested position is beyond the end of the existing cache, but the
// reverse rules produced a position near or before the cached region.
// Retain the existing cache, and fill from the end of it.
retainCache = true;
} else if (backupPos < CACHE_NEAR) {
// The safe reverse rules moved us to near the start of text.
// Take that (index 0) as the backup boundary, avoiding the complication
// (in the following block) of moving forward from the safe point to a known boundary.
//
// Retain the cache if it begins not too far from the requested position.
aBoundary = 0;
retainCache = (fBoundaries[fStartBufIdx] <= (position + CACHE_NEAR));
} else {
// The safe reverse rules produced a position that is neither near the existing
// cache, nor near the start of text.
// Advance to the boundary following.
// There is a complication: the safe reverse rules identify pairs of code points
// that are safe. If advancing from the safe point moves forwards by less than
// two code points, we need to advance one more time to ensure that the boundary
// is good, including a correct rules status value.
retainCache = false;
fBI->fPosition = backupPos;
aBoundary = fBI->handleNext();
if (aBoundary != UBRK_DONE && aBoundary <= backupPos + 4) {
// +4 is a quick test for possibly having advanced only one codepoint.
// Four being the length of the longest potential code point, a supplementary in UTF-8
utext_setNativeIndex(&fBI->fText, aBoundary);
if (backupPos == utext_getPreviousNativeIndex(&fBI->fText)) {
// The initial handleNext() only advanced by a single code point. Go again.
aBoundary = fBI->handleNext(); // Safe rules identify safe pairs.
} }
ruleStatusIndex = fBI->fRuleStatusIndex;
} }
if (aBoundary == UBRK_DONE) {
// Note (Andy Heninger): I don't think this condition can occur, but it's hard
// to prove that it can't. We ran off the end of the string looking a boundary
// following a safe point; choose the end of the string as that boundary.
aBoundary = utext_nativeLength(&fBI->fText);
}
ruleStatusIndex = fBI->fRuleStatusIndex;
} }
}
if (!retainCache) {
U_ASSERT(aBoundary != -1);
reset(aBoundary, ruleStatusIndex); // Reset cache to hold aBoundary as a single starting point. reset(aBoundary, ruleStatusIndex); // Reset cache to hold aBoundary as a single starting point.
} }
@ -430,13 +476,13 @@ UBool RuleBasedBreakIterator::BreakCache::populateFollowing() {
if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) { if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) {
addFollowing(pos, ruleStatusIdx, UpdateCachePosition); addFollowing(pos, ruleStatusIdx, UpdateCachePosition);
return TRUE; return true;
} }
fBI->fPosition = fromPosition; fBI->fPosition = fromPosition;
pos = fBI->handleNext(); pos = fBI->handleNext();
if (pos == UBRK_DONE) { if (pos == UBRK_DONE) {
return FALSE; return false;
} }
ruleStatusIdx = fBI->fRuleStatusIndex; ruleStatusIdx = fBI->fRuleStatusIndex;
@ -446,7 +492,7 @@ UBool RuleBasedBreakIterator::BreakCache::populateFollowing() {
fBI->fDictionaryCache->populateDictionary(fromPosition, pos, fromRuleStatusIdx, ruleStatusIdx); fBI->fDictionaryCache->populateDictionary(fromPosition, pos, fromRuleStatusIdx, ruleStatusIdx);
if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) { if (fBI->fDictionaryCache->following(fromPosition, &pos, &ruleStatusIdx)) {
addFollowing(pos, ruleStatusIdx, UpdateCachePosition); addFollowing(pos, ruleStatusIdx, UpdateCachePosition);
return TRUE; return true;
// TODO: may want to move a sizable chunk of dictionary cache to break cache at this point. // TODO: may want to move a sizable chunk of dictionary cache to break cache at this point.
// But be careful with interactions with populateNear(). // But be careful with interactions with populateNear().
} }
@ -469,18 +515,18 @@ UBool RuleBasedBreakIterator::BreakCache::populateFollowing() {
addFollowing(pos, fBI->fRuleStatusIndex, RetainCachePosition); addFollowing(pos, fBI->fRuleStatusIndex, RetainCachePosition);
} }
return TRUE; return true;
} }
UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status) { UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status) {
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
return FALSE; return false;
} }
int32_t fromPosition = fBoundaries[fStartBufIdx]; int32_t fromPosition = fBoundaries[fStartBufIdx];
if (fromPosition == 0) { if (fromPosition == 0) {
return FALSE; return false;
} }
int32_t position = 0; int32_t position = 0;
@ -488,7 +534,7 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
if (fBI->fDictionaryCache->preceding(fromPosition, &position, &positionStatusIdx)) { if (fBI->fDictionaryCache->preceding(fromPosition, &position, &positionStatusIdx)) {
addPreceding(position, positionStatusIdx, UpdateCachePosition); addPreceding(position, positionStatusIdx, UpdateCachePosition);
return TRUE; return true;
} }
int32_t backupPosition = fromPosition; int32_t backupPosition = fromPosition;
@ -542,7 +588,7 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
break; break;
} }
UBool segmentHandledByDictionary = FALSE; UBool segmentHandledByDictionary = false;
if (fBI->fDictionaryCharCount != 0) { if (fBI->fDictionaryCharCount != 0) {
// Segment from the rules includes dictionary characters. // Segment from the rules includes dictionary characters.
// Subdivide it, with subdivided results going into the dictionary cache. // Subdivide it, with subdivided results going into the dictionary cache.
@ -569,12 +615,12 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
} while (position < fromPosition); } while (position < fromPosition);
// Move boundaries from the side buffer to the main circular buffer. // Move boundaries from the side buffer to the main circular buffer.
UBool success = FALSE; UBool success = false;
if (!fSideBuffer.isEmpty()) { if (!fSideBuffer.isEmpty()) {
positionStatusIdx = fSideBuffer.popi(); positionStatusIdx = fSideBuffer.popi();
position = fSideBuffer.popi(); position = fSideBuffer.popi();
addPreceding(position, positionStatusIdx, UpdateCachePosition); addPreceding(position, positionStatusIdx, UpdateCachePosition);
success = TRUE; success = true;
} }
while (!fSideBuffer.isEmpty()) { while (!fSideBuffer.isEmpty()) {

View File

@ -38,7 +38,7 @@ RBBIDataWrapper::RBBIDataWrapper(const RBBIDataHeader *data, UErrorCode &status)
RBBIDataWrapper::RBBIDataWrapper(const RBBIDataHeader *data, enum EDontAdopt, UErrorCode &status) { RBBIDataWrapper::RBBIDataWrapper(const RBBIDataHeader *data, enum EDontAdopt, UErrorCode &status) {
init0(); init0();
init(data, status); init(data, status);
fDontFreeData = TRUE; fDontFreeData = true;
} }
RBBIDataWrapper::RBBIDataWrapper(UDataMemory* udm, UErrorCode &status) { RBBIDataWrapper::RBBIDataWrapper(UDataMemory* udm, UErrorCode &status) {
@ -86,7 +86,7 @@ void RBBIDataWrapper::init0() {
fTrie = NULL; fTrie = NULL;
fUDataMem = NULL; fUDataMem = NULL;
fRefCount = 0; fRefCount = 0;
fDontFreeData = TRUE; fDontFreeData = true;
} }
void RBBIDataWrapper::init(const RBBIDataHeader *data, UErrorCode &status) { void RBBIDataWrapper::init(const RBBIDataHeader *data, UErrorCode &status) {
@ -102,7 +102,7 @@ void RBBIDataWrapper::init(const RBBIDataHeader *data, UErrorCode &status) {
// that is no longer supported. At that time fFormatVersion was // that is no longer supported. At that time fFormatVersion was
// an int32_t field, rather than an array of 4 bytes. // an int32_t field, rather than an array of 4 bytes.
fDontFreeData = FALSE; fDontFreeData = false;
if (data->fFTableLen != 0) { if (data->fFTableLen != 0) {
fForwardTable = (RBBIStateTable *)((char *)data + fHeader->fFTable); fForwardTable = (RBBIStateTable *)((char *)data + fHeader->fFTable);
} }

View File

@ -58,10 +58,10 @@ RBBINode::RBBINode(NodeType t) : UMemory() {
fInputSet = NULL; fInputSet = NULL;
fFirstPos = 0; fFirstPos = 0;
fLastPos = 0; fLastPos = 0;
fNullable = FALSE; fNullable = false;
fLookAheadEnd = FALSE; fLookAheadEnd = false;
fRuleRoot = FALSE; fRuleRoot = false;
fChainIn = FALSE; fChainIn = false;
fVal = 0; fVal = 0;
fPrecedence = precZero; fPrecedence = precZero;
@ -92,7 +92,7 @@ RBBINode::RBBINode(const RBBINode &other) : UMemory(other) {
fLastPos = other.fLastPos; fLastPos = other.fLastPos;
fNullable = other.fNullable; fNullable = other.fNullable;
fVal = other.fVal; fVal = other.fVal;
fRuleRoot = FALSE; fRuleRoot = false;
fChainIn = other.fChainIn; fChainIn = other.fChainIn;
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
fFirstPosSet = new UVector(status); // TODO - get a real status from somewhere fFirstPosSet = new UVector(status); // TODO - get a real status from somewhere
@ -355,11 +355,11 @@ void RBBINode::printTree(const RBBINode *node, UBool printHeading) {
// Unconditionally dump children of all other node types. // Unconditionally dump children of all other node types.
if (node->fType != varRef) { if (node->fType != varRef) {
if (node->fLeftChild != NULL) { if (node->fLeftChild != NULL) {
printTree(node->fLeftChild, FALSE); printTree(node->fLeftChild, false);
} }
if (node->fRightChild != NULL) { if (node->fRightChild != NULL) {
printTree(node->fRightChild, FALSE); printTree(node->fRightChild, false);
} }
} }
} }

View File

@ -65,9 +65,9 @@ RBBIRuleBuilder::RBBIRuleBuilder(const UnicodeString &rules,
fDefaultTree = &fForwardTree; fDefaultTree = &fForwardTree;
fForwardTable = NULL; fForwardTable = NULL;
fRuleStatusVals = NULL; fRuleStatusVals = NULL;
fChainRules = FALSE; fChainRules = false;
fLBCMNoChain = FALSE; fLBCMNoChain = false;
fLookAheadHardBreak = FALSE; fLookAheadHardBreak = false;
fUSetNodes = NULL; fUSetNodes = NULL;
fRuleStatusVals = NULL; fRuleStatusVals = NULL;
fScanner = NULL; fScanner = NULL;

View File

@ -54,8 +54,8 @@ public: // of these structs for each ent
~RBBISymbolTableEntry(); ~RBBISymbolTableEntry();
private: private:
RBBISymbolTableEntry(const RBBISymbolTableEntry &other); // forbid copying of this class RBBISymbolTableEntry(const RBBISymbolTableEntry &other) = delete; // forbid copying of this class
RBBISymbolTableEntry &operator=(const RBBISymbolTableEntry &other); // forbid copying of this class RBBISymbolTableEntry &operator=(const RBBISymbolTableEntry &other) = delete; // forbid copying of this class
}; };
@ -177,8 +177,8 @@ public:
RBBIDataHeader *flattenData(); // Create the flattened (runtime format) RBBIDataHeader *flattenData(); // Create the flattened (runtime format)
// data tables.. // data tables..
private: private:
RBBIRuleBuilder(const RBBIRuleBuilder &other); // forbid copying of this class RBBIRuleBuilder(const RBBIRuleBuilder &other) = delete; // forbid copying of this class
RBBIRuleBuilder &operator=(const RBBIRuleBuilder &other); // forbid copying of this class RBBIRuleBuilder &operator=(const RBBIRuleBuilder &other) = delete; // forbid copying of this class
}; };

View File

@ -79,110 +79,110 @@ struct RBBIRuleTableEl {
}; };
static const struct RBBIRuleTableEl gRuleParseStateTable[] = { static const struct RBBIRuleTableEl gRuleParseStateTable[] = {
{doNOP, 0, 0, 0, TRUE} {doNOP, 0, 0, 0, true}
, {doExprStart, 254, 29, 9, FALSE} // 1 start , {doExprStart, 254, 29, 9, false} // 1 start
, {doNOP, 132, 1,0, TRUE} // 2 , {doNOP, 132, 1,0, true} // 2
, {doNoChain, 94 /* ^ */, 12, 9, TRUE} // 3 , {doNoChain, 94 /* ^ */, 12, 9, true} // 3
, {doExprStart, 36 /* $ */, 88, 98, FALSE} // 4 , {doExprStart, 36 /* $ */, 88, 98, false} // 4
, {doNOP, 33 /* ! */, 19,0, TRUE} // 5 , {doNOP, 33 /* ! */, 19,0, true} // 5
, {doNOP, 59 /* ; */, 1,0, TRUE} // 6 , {doNOP, 59 /* ; */, 1,0, true} // 6
, {doNOP, 252, 0,0, FALSE} // 7 , {doNOP, 252, 0,0, false} // 7
, {doExprStart, 255, 29, 9, FALSE} // 8 , {doExprStart, 255, 29, 9, false} // 8
, {doEndOfRule, 59 /* ; */, 1,0, TRUE} // 9 break-rule-end , {doEndOfRule, 59 /* ; */, 1,0, true} // 9 break-rule-end
, {doNOP, 132, 9,0, TRUE} // 10 , {doNOP, 132, 9,0, true} // 10
, {doRuleError, 255, 103,0, FALSE} // 11 , {doRuleError, 255, 103,0, false} // 11
, {doExprStart, 254, 29,0, FALSE} // 12 start-after-caret , {doExprStart, 254, 29,0, false} // 12 start-after-caret
, {doNOP, 132, 12,0, TRUE} // 13 , {doNOP, 132, 12,0, true} // 13
, {doRuleError, 94 /* ^ */, 103,0, FALSE} // 14 , {doRuleError, 94 /* ^ */, 103,0, false} // 14
, {doExprStart, 36 /* $ */, 88, 37, FALSE} // 15 , {doExprStart, 36 /* $ */, 88, 37, false} // 15
, {doRuleError, 59 /* ; */, 103,0, FALSE} // 16 , {doRuleError, 59 /* ; */, 103,0, false} // 16
, {doRuleError, 252, 103,0, FALSE} // 17 , {doRuleError, 252, 103,0, false} // 17
, {doExprStart, 255, 29,0, FALSE} // 18 , {doExprStart, 255, 29,0, false} // 18
, {doNOP, 33 /* ! */, 21,0, TRUE} // 19 rev-option , {doNOP, 33 /* ! */, 21,0, true} // 19 rev-option
, {doReverseDir, 255, 28, 9, FALSE} // 20 , {doReverseDir, 255, 28, 9, false} // 20
, {doOptionStart, 130, 23,0, TRUE} // 21 option-scan1 , {doOptionStart, 130, 23,0, true} // 21 option-scan1
, {doRuleError, 255, 103,0, FALSE} // 22 , {doRuleError, 255, 103,0, false} // 22
, {doNOP, 129, 23,0, TRUE} // 23 option-scan2 , {doNOP, 129, 23,0, true} // 23 option-scan2
, {doOptionEnd, 255, 25,0, FALSE} // 24 , {doOptionEnd, 255, 25,0, false} // 24
, {doNOP, 59 /* ; */, 1,0, TRUE} // 25 option-scan3 , {doNOP, 59 /* ; */, 1,0, true} // 25 option-scan3
, {doNOP, 132, 25,0, TRUE} // 26 , {doNOP, 132, 25,0, true} // 26
, {doRuleError, 255, 103,0, FALSE} // 27 , {doRuleError, 255, 103,0, false} // 27
, {doExprStart, 255, 29, 9, FALSE} // 28 reverse-rule , {doExprStart, 255, 29, 9, false} // 28 reverse-rule
, {doRuleChar, 254, 38,0, TRUE} // 29 term , {doRuleChar, 254, 38,0, true} // 29 term
, {doNOP, 132, 29,0, TRUE} // 30 , {doNOP, 132, 29,0, true} // 30
, {doRuleChar, 131, 38,0, TRUE} // 31 , {doRuleChar, 131, 38,0, true} // 31
, {doNOP, 91 /* [ */, 94, 38, FALSE} // 32 , {doNOP, 91 /* [ */, 94, 38, false} // 32
, {doLParen, 40 /* ( */, 29, 38, TRUE} // 33 , {doLParen, 40 /* ( */, 29, 38, true} // 33
, {doNOP, 36 /* $ */, 88, 37, FALSE} // 34 , {doNOP, 36 /* $ */, 88, 37, false} // 34
, {doDotAny, 46 /* . */, 38,0, TRUE} // 35 , {doDotAny, 46 /* . */, 38,0, true} // 35
, {doRuleError, 255, 103,0, FALSE} // 36 , {doRuleError, 255, 103,0, false} // 36
, {doCheckVarDef, 255, 38,0, FALSE} // 37 term-var-ref , {doCheckVarDef, 255, 38,0, false} // 37 term-var-ref
, {doNOP, 132, 38,0, TRUE} // 38 expr-mod , {doNOP, 132, 38,0, true} // 38 expr-mod
, {doUnaryOpStar, 42 /* * */, 43,0, TRUE} // 39 , {doUnaryOpStar, 42 /* * */, 43,0, true} // 39
, {doUnaryOpPlus, 43 /* + */, 43,0, TRUE} // 40 , {doUnaryOpPlus, 43 /* + */, 43,0, true} // 40
, {doUnaryOpQuestion, 63 /* ? */, 43,0, TRUE} // 41 , {doUnaryOpQuestion, 63 /* ? */, 43,0, true} // 41
, {doNOP, 255, 43,0, FALSE} // 42 , {doNOP, 255, 43,0, false} // 42
, {doExprCatOperator, 254, 29,0, FALSE} // 43 expr-cont , {doExprCatOperator, 254, 29,0, false} // 43 expr-cont
, {doNOP, 132, 43,0, TRUE} // 44 , {doNOP, 132, 43,0, true} // 44
, {doExprCatOperator, 131, 29,0, FALSE} // 45 , {doExprCatOperator, 131, 29,0, false} // 45
, {doExprCatOperator, 91 /* [ */, 29,0, FALSE} // 46 , {doExprCatOperator, 91 /* [ */, 29,0, false} // 46
, {doExprCatOperator, 40 /* ( */, 29,0, FALSE} // 47 , {doExprCatOperator, 40 /* ( */, 29,0, false} // 47
, {doExprCatOperator, 36 /* $ */, 29,0, FALSE} // 48 , {doExprCatOperator, 36 /* $ */, 29,0, false} // 48
, {doExprCatOperator, 46 /* . */, 29,0, FALSE} // 49 , {doExprCatOperator, 46 /* . */, 29,0, false} // 49
, {doExprCatOperator, 47 /* / */, 55,0, FALSE} // 50 , {doExprCatOperator, 47 /* / */, 55,0, false} // 50
, {doExprCatOperator, 123 /* { */, 67,0, TRUE} // 51 , {doExprCatOperator, 123 /* { */, 67,0, true} // 51
, {doExprOrOperator, 124 /* | */, 29,0, TRUE} // 52 , {doExprOrOperator, 124 /* | */, 29,0, true} // 52
, {doExprRParen, 41 /* ) */, 255,0, TRUE} // 53 , {doExprRParen, 41 /* ) */, 255,0, true} // 53
, {doExprFinished, 255, 255,0, FALSE} // 54 , {doExprFinished, 255, 255,0, false} // 54
, {doSlash, 47 /* / */, 57,0, TRUE} // 55 look-ahead , {doSlash, 47 /* / */, 57,0, true} // 55 look-ahead
, {doNOP, 255, 103,0, FALSE} // 56 , {doNOP, 255, 103,0, false} // 56
, {doExprCatOperator, 254, 29,0, FALSE} // 57 expr-cont-no-slash , {doExprCatOperator, 254, 29,0, false} // 57 expr-cont-no-slash
, {doNOP, 132, 43,0, TRUE} // 58 , {doNOP, 132, 43,0, true} // 58
, {doExprCatOperator, 131, 29,0, FALSE} // 59 , {doExprCatOperator, 131, 29,0, false} // 59
, {doExprCatOperator, 91 /* [ */, 29,0, FALSE} // 60 , {doExprCatOperator, 91 /* [ */, 29,0, false} // 60
, {doExprCatOperator, 40 /* ( */, 29,0, FALSE} // 61 , {doExprCatOperator, 40 /* ( */, 29,0, false} // 61
, {doExprCatOperator, 36 /* $ */, 29,0, FALSE} // 62 , {doExprCatOperator, 36 /* $ */, 29,0, false} // 62
, {doExprCatOperator, 46 /* . */, 29,0, FALSE} // 63 , {doExprCatOperator, 46 /* . */, 29,0, false} // 63
, {doExprOrOperator, 124 /* | */, 29,0, TRUE} // 64 , {doExprOrOperator, 124 /* | */, 29,0, true} // 64
, {doExprRParen, 41 /* ) */, 255,0, TRUE} // 65 , {doExprRParen, 41 /* ) */, 255,0, true} // 65
, {doExprFinished, 255, 255,0, FALSE} // 66 , {doExprFinished, 255, 255,0, false} // 66
, {doNOP, 132, 67,0, TRUE} // 67 tag-open , {doNOP, 132, 67,0, true} // 67 tag-open
, {doStartTagValue, 128, 70,0, FALSE} // 68 , {doStartTagValue, 128, 70,0, false} // 68
, {doTagExpectedError, 255, 103,0, FALSE} // 69 , {doTagExpectedError, 255, 103,0, false} // 69
, {doNOP, 132, 74,0, TRUE} // 70 tag-value , {doNOP, 132, 74,0, true} // 70 tag-value
, {doNOP, 125 /* } */, 74,0, FALSE} // 71 , {doNOP, 125 /* } */, 74,0, false} // 71
, {doTagDigit, 128, 70,0, TRUE} // 72 , {doTagDigit, 128, 70,0, true} // 72
, {doTagExpectedError, 255, 103,0, FALSE} // 73 , {doTagExpectedError, 255, 103,0, false} // 73
, {doNOP, 132, 74,0, TRUE} // 74 tag-close , {doNOP, 132, 74,0, true} // 74 tag-close
, {doTagValue, 125 /* } */, 77,0, TRUE} // 75 , {doTagValue, 125 /* } */, 77,0, true} // 75
, {doTagExpectedError, 255, 103,0, FALSE} // 76 , {doTagExpectedError, 255, 103,0, false} // 76
, {doExprCatOperator, 254, 29,0, FALSE} // 77 expr-cont-no-tag , {doExprCatOperator, 254, 29,0, false} // 77 expr-cont-no-tag
, {doNOP, 132, 77,0, TRUE} // 78 , {doNOP, 132, 77,0, true} // 78
, {doExprCatOperator, 131, 29,0, FALSE} // 79 , {doExprCatOperator, 131, 29,0, false} // 79
, {doExprCatOperator, 91 /* [ */, 29,0, FALSE} // 80 , {doExprCatOperator, 91 /* [ */, 29,0, false} // 80
, {doExprCatOperator, 40 /* ( */, 29,0, FALSE} // 81 , {doExprCatOperator, 40 /* ( */, 29,0, false} // 81
, {doExprCatOperator, 36 /* $ */, 29,0, FALSE} // 82 , {doExprCatOperator, 36 /* $ */, 29,0, false} // 82
, {doExprCatOperator, 46 /* . */, 29,0, FALSE} // 83 , {doExprCatOperator, 46 /* . */, 29,0, false} // 83
, {doExprCatOperator, 47 /* / */, 55,0, FALSE} // 84 , {doExprCatOperator, 47 /* / */, 55,0, false} // 84
, {doExprOrOperator, 124 /* | */, 29,0, TRUE} // 85 , {doExprOrOperator, 124 /* | */, 29,0, true} // 85
, {doExprRParen, 41 /* ) */, 255,0, TRUE} // 86 , {doExprRParen, 41 /* ) */, 255,0, true} // 86
, {doExprFinished, 255, 255,0, FALSE} // 87 , {doExprFinished, 255, 255,0, false} // 87
, {doStartVariableName, 36 /* $ */, 90,0, TRUE} // 88 scan-var-name , {doStartVariableName, 36 /* $ */, 90,0, true} // 88 scan-var-name
, {doNOP, 255, 103,0, FALSE} // 89 , {doNOP, 255, 103,0, false} // 89
, {doNOP, 130, 92,0, TRUE} // 90 scan-var-start , {doNOP, 130, 92,0, true} // 90 scan-var-start
, {doVariableNameExpectedErr, 255, 103,0, FALSE} // 91 , {doVariableNameExpectedErr, 255, 103,0, false} // 91
, {doNOP, 129, 92,0, TRUE} // 92 scan-var-body , {doNOP, 129, 92,0, true} // 92 scan-var-body
, {doEndVariableName, 255, 255,0, FALSE} // 93 , {doEndVariableName, 255, 255,0, false} // 93
, {doScanUnicodeSet, 91 /* [ */, 255,0, TRUE} // 94 scan-unicode-set , {doScanUnicodeSet, 91 /* [ */, 255,0, true} // 94 scan-unicode-set
, {doScanUnicodeSet, 112 /* p */, 255,0, TRUE} // 95 , {doScanUnicodeSet, 112 /* p */, 255,0, true} // 95
, {doScanUnicodeSet, 80 /* P */, 255,0, TRUE} // 96 , {doScanUnicodeSet, 80 /* P */, 255,0, true} // 96
, {doNOP, 255, 103,0, FALSE} // 97 , {doNOP, 255, 103,0, false} // 97
, {doNOP, 132, 98,0, TRUE} // 98 assign-or-rule , {doNOP, 132, 98,0, true} // 98 assign-or-rule
, {doStartAssign, 61 /* = */, 29, 101, TRUE} // 99 , {doStartAssign, 61 /* = */, 29, 101, true} // 99
, {doNOP, 255, 37, 9, FALSE} // 100 , {doNOP, 255, 37, 9, false} // 100
, {doEndAssign, 59 /* ; */, 1,0, TRUE} // 101 assign-end , {doEndAssign, 59 /* ; */, 1,0, true} // 101 assign-end
, {doRuleErrorAssignExpr, 255, 103,0, FALSE} // 102 , {doRuleErrorAssignExpr, 255, 103,0, false} // 102
, {doExit, 255, 103,0, TRUE} // 103 errorDeath , {doExit, 255, 103,0, true} // 103 errorDeath
}; };
#ifdef RBBI_DEBUG #ifdef RBBI_DEBUG
static const char * const RBBIRuleStateNames[] = { 0, static const char * const RBBIRuleStateNames[] = { 0,

View File

@ -92,7 +92,7 @@ RBBIRuleScanner::RBBIRuleScanner(RBBIRuleBuilder *rb)
fRB = rb; fRB = rb;
fScanIndex = 0; fScanIndex = 0;
fNextIndex = 0; fNextIndex = 0;
fQuoteMode = FALSE; fQuoteMode = false;
fLineNum = 1; fLineNum = 1;
fCharNum = 0; fCharNum = 0;
fLastChar = 0; fLastChar = 0;
@ -103,9 +103,9 @@ RBBIRuleScanner::RBBIRuleScanner(RBBIRuleBuilder *rb)
fNodeStack[0] = NULL; fNodeStack[0] = NULL;
fNodeStackPtr = 0; fNodeStackPtr = 0;
fReverseRule = FALSE; fReverseRule = false;
fLookAheadRule = FALSE; fLookAheadRule = false;
fNoChainInRule = FALSE; fNoChainInRule = false;
fSymbolTable = NULL; fSymbolTable = NULL;
fSetTable = NULL; fSetTable = NULL;
@ -201,7 +201,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
{ {
RBBINode *n = NULL; RBBINode *n = NULL;
UBool returnVal = TRUE; UBool returnVal = true;
switch (action) { switch (action) {
@ -213,7 +213,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
case doNoChain: case doNoChain:
// Scanned a '^' while on the rule start state. // Scanned a '^' while on the rule start state.
fNoChainInRule = TRUE; fNoChainInRule = true;
break; break;
@ -345,7 +345,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
catNode->fRightChild = endNode; catNode->fRightChild = endNode;
fNodeStack[fNodeStackPtr] = catNode; fNodeStack[fNodeStackPtr] = catNode;
endNode->fVal = fRuleNum; endNode->fVal = fRuleNum;
endNode->fLookAheadEnd = TRUE; endNode->fLookAheadEnd = true;
thisRule = catNode; thisRule = catNode;
// TODO: Disable chaining out of look-ahead (hard break) rules. // TODO: Disable chaining out of look-ahead (hard break) rules.
@ -354,13 +354,13 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
} }
// Mark this node as being the root of a rule. // Mark this node as being the root of a rule.
thisRule->fRuleRoot = TRUE; thisRule->fRuleRoot = true;
// Flag if chaining into this rule is wanted. // Flag if chaining into this rule is wanted.
// //
if (fRB->fChainRules && // If rule chaining is enabled globally via !!chain if (fRB->fChainRules && // If rule chaining is enabled globally via !!chain
!fNoChainInRule) { // and no '^' chain-in inhibit was on this rule !fNoChainInRule) { // and no '^' chain-in inhibit was on this rule
thisRule->fChainIn = TRUE; thisRule->fChainIn = true;
} }
@ -398,9 +398,9 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
// Just move its parse tree from the stack to *destRules. // Just move its parse tree from the stack to *destRules.
*destRules = fNodeStack[fNodeStackPtr]; *destRules = fNodeStack[fNodeStackPtr];
} }
fReverseRule = FALSE; // in preparation for the next rule. fReverseRule = false; // in preparation for the next rule.
fLookAheadRule = FALSE; fLookAheadRule = false;
fNoChainInRule = FALSE; fNoChainInRule = false;
fNodeStackPtr = 0; fNodeStackPtr = 0;
} }
break; break;
@ -408,7 +408,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
case doRuleError: case doRuleError:
error(U_BRK_RULE_SYNTAX); error(U_BRK_RULE_SYNTAX);
returnVal = FALSE; returnVal = false;
break; break;
@ -484,7 +484,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
if (U_FAILURE(*fRB->fStatus)) { if (U_FAILURE(*fRB->fStatus)) {
break; break;
} }
findSetFor(UnicodeString(TRUE, kAny, 3), n); findSetFor(UnicodeString(true, kAny, 3), n);
n->fFirstPos = fScanIndex; n->fFirstPos = fScanIndex;
n->fLastPos = fNextIndex; n->fLastPos = fNextIndex;
fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText); fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText);
@ -501,7 +501,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
n->fFirstPos = fScanIndex; n->fFirstPos = fScanIndex;
n->fLastPos = fNextIndex; n->fLastPos = fNextIndex;
fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText); fRB->fRules.extractBetween(n->fFirstPos, n->fLastPos, n->fText);
fLookAheadRule = TRUE; fLookAheadRule = true;
break; break;
@ -534,7 +534,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
case doTagExpectedError: case doTagExpectedError:
error(U_BRK_MALFORMED_RULE_TAG); error(U_BRK_MALFORMED_RULE_TAG);
returnVal = FALSE; returnVal = false;
break; break;
case doOptionStart: case doOptionStart:
@ -546,9 +546,9 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
{ {
UnicodeString opt(fRB->fRules, fOptionStart, fScanIndex-fOptionStart); UnicodeString opt(fRB->fRules, fOptionStart, fScanIndex-fOptionStart);
if (opt == UNICODE_STRING("chain", 5)) { if (opt == UNICODE_STRING("chain", 5)) {
fRB->fChainRules = TRUE; fRB->fChainRules = true;
} else if (opt == UNICODE_STRING("LBCMNoChain", 11)) { } else if (opt == UNICODE_STRING("LBCMNoChain", 11)) {
fRB->fLBCMNoChain = TRUE; fRB->fLBCMNoChain = true;
} else if (opt == UNICODE_STRING("forward", 7)) { } else if (opt == UNICODE_STRING("forward", 7)) {
fRB->fDefaultTree = &fRB->fForwardTree; fRB->fDefaultTree = &fRB->fForwardTree;
} else if (opt == UNICODE_STRING("reverse", 7)) { } else if (opt == UNICODE_STRING("reverse", 7)) {
@ -558,7 +558,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
} else if (opt == UNICODE_STRING("safe_reverse", 12)) { } else if (opt == UNICODE_STRING("safe_reverse", 12)) {
fRB->fDefaultTree = &fRB->fSafeRevTree; fRB->fDefaultTree = &fRB->fSafeRevTree;
} else if (opt == UNICODE_STRING("lookAheadHardBreak", 18)) { } else if (opt == UNICODE_STRING("lookAheadHardBreak", 18)) {
fRB->fLookAheadHardBreak = TRUE; fRB->fLookAheadHardBreak = true;
} else if (opt == UNICODE_STRING("quoted_literals_only", 20)) { } else if (opt == UNICODE_STRING("quoted_literals_only", 20)) {
fRuleSets[kRuleSet_rule_char-128].clear(); fRuleSets[kRuleSet_rule_char-128].clear();
} else if (opt == UNICODE_STRING("unquoted_literals", 17)) { } else if (opt == UNICODE_STRING("unquoted_literals", 17)) {
@ -570,7 +570,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
break; break;
case doReverseDir: case doReverseDir:
fReverseRule = TRUE; fReverseRule = true;
break; break;
case doStartVariableName: case doStartVariableName:
@ -600,7 +600,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
n = fNodeStack[fNodeStackPtr]; n = fNodeStack[fNodeStackPtr];
if (n->fLeftChild == NULL) { if (n->fLeftChild == NULL) {
error(U_BRK_UNDEFINED_VARIABLE); error(U_BRK_UNDEFINED_VARIABLE);
returnVal = FALSE; returnVal = false;
} }
break; break;
@ -609,11 +609,11 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
case doRuleErrorAssignExpr: case doRuleErrorAssignExpr:
error(U_BRK_ASSIGN_ERROR); error(U_BRK_ASSIGN_ERROR);
returnVal = FALSE; returnVal = false;
break; break;
case doExit: case doExit:
returnVal = FALSE; returnVal = false;
break; break;
case doScanUnicodeSet: case doScanUnicodeSet:
@ -622,7 +622,7 @@ UBool RBBIRuleScanner::doParseActions(int32_t action)
default: default:
error(U_BRK_INTERNAL_ERROR); error(U_BRK_INTERNAL_ERROR);
returnVal = FALSE; returnVal = false;
break; break;
} }
return returnVal && U_SUCCESS(*fRB->fStatus); return returnVal && U_SUCCESS(*fRB->fStatus);
@ -872,7 +872,7 @@ UChar32 RBBIRuleScanner::nextCharLL() {
fCharNum=0; fCharNum=0;
if (fQuoteMode) { if (fQuoteMode) {
error(U_BRK_NEW_LINE_IN_QUOTED_STRING); error(U_BRK_NEW_LINE_IN_QUOTED_STRING);
fQuoteMode = FALSE; fQuoteMode = false;
} }
} }
else { else {
@ -901,7 +901,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
fScanIndex = fNextIndex; fScanIndex = fNextIndex;
c.fChar = nextCharLL(); c.fChar = nextCharLL();
c.fEscaped = FALSE; c.fEscaped = false;
// //
// check for '' sequence. // check for '' sequence.
@ -910,7 +910,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
if (c.fChar == chApos) { if (c.fChar == chApos) {
if (fRB->fRules.char32At(fNextIndex) == chApos) { if (fRB->fRules.char32At(fNextIndex) == chApos) {
c.fChar = nextCharLL(); // get nextChar officially so character counts c.fChar = nextCharLL(); // get nextChar officially so character counts
c.fEscaped = TRUE; // stay correct. c.fEscaped = true; // stay correct.
} }
else else
{ {
@ -918,18 +918,18 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
// Toggle quoting mode. // Toggle quoting mode.
// Return either '(' or ')', because quotes cause a grouping of the quoted text. // Return either '(' or ')', because quotes cause a grouping of the quoted text.
fQuoteMode = !fQuoteMode; fQuoteMode = !fQuoteMode;
if (fQuoteMode == TRUE) { if (fQuoteMode == true) {
c.fChar = chLParen; c.fChar = chLParen;
} else { } else {
c.fChar = chRParen; c.fChar = chRParen;
} }
c.fEscaped = FALSE; // The paren that we return is not escaped. c.fEscaped = false; // The paren that we return is not escaped.
return; return;
} }
} }
if (fQuoteMode) { if (fQuoteMode) {
c.fEscaped = TRUE; c.fEscaped = true;
} }
else else
{ {
@ -963,7 +963,7 @@ void RBBIRuleScanner::nextChar(RBBIRuleChar &c) {
// Use UnicodeString::unescapeAt() to handle them. // Use UnicodeString::unescapeAt() to handle them.
// //
if (c.fChar == chBackSlash) { if (c.fChar == chBackSlash) {
c.fEscaped = TRUE; c.fEscaped = true;
int32_t startX = fNextIndex; int32_t startX = fNextIndex;
c.fChar = fRB->fRules.unescapeAt(fNextIndex); c.fChar = fRB->fRules.unescapeAt(fNextIndex);
if (fNextIndex == startX) { if (fNextIndex == startX) {
@ -1032,7 +1032,7 @@ void RBBIRuleScanner::parse() {
#ifdef RBBI_DEBUG #ifdef RBBI_DEBUG
if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "scan")) { RBBIDebugPrintf("."); fflush(stdout);} if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "scan")) { RBBIDebugPrintf("."); fflush(stdout);}
#endif #endif
if (tableEl->fCharClass < 127 && fC.fEscaped == FALSE && tableEl->fCharClass == fC.fChar) { if (tableEl->fCharClass < 127 && fC.fEscaped == false && tableEl->fCharClass == fC.fChar) {
// Table row specified an individual character, not a set, and // Table row specified an individual character, not a set, and
// the input character is not escaped, and // the input character is not escaped, and
// the input character matched it. // the input character matched it.
@ -1057,7 +1057,7 @@ void RBBIRuleScanner::parse() {
} }
if (tableEl->fCharClass >= 128 && tableEl->fCharClass < 240 && // Table specs a char class && if (tableEl->fCharClass >= 128 && tableEl->fCharClass < 240 && // Table specs a char class &&
fC.fEscaped == FALSE && // char is not escaped && fC.fEscaped == false && // char is not escaped &&
fC.fChar != (UChar32)-1) { // char is not EOF fC.fChar != (UChar32)-1) { // char is not EOF
U_ASSERT((tableEl->fCharClass-128) < UPRV_LENGTHOF(fRuleSets)); U_ASSERT((tableEl->fCharClass-128) < UPRV_LENGTHOF(fRuleSets));
if (fRuleSets[tableEl->fCharClass-128].contains(fC.fChar)) { if (fRuleSets[tableEl->fCharClass-128].contains(fC.fChar)) {
@ -1076,7 +1076,7 @@ void RBBIRuleScanner::parse() {
// We've found the row of the state table that matches the current input // We've found the row of the state table that matches the current input
// character from the rules string. // character from the rules string.
// Perform any action specified by this row in the state table. // Perform any action specified by this row in the state table.
if (doParseActions((int32_t)tableEl->fAction) == FALSE) { if (doParseActions((int32_t)tableEl->fAction) == false) {
// Break out of the state machine loop if the // Break out of the state machine loop if the
// the action signalled some kind of error, or // the action signalled some kind of error, or
// the action was to exit, occurs on normal end-of-rules-input. // the action was to exit, occurs on normal end-of-rules-input.
@ -1133,13 +1133,13 @@ void RBBIRuleScanner::parse() {
if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "symbols")) {fSymbolTable->rbbiSymtablePrint();} if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "symbols")) {fSymbolTable->rbbiSymtablePrint();}
if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ptree")) { if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ptree")) {
RBBIDebugPrintf("Completed Forward Rules Parse Tree...\n"); RBBIDebugPrintf("Completed Forward Rules Parse Tree...\n");
RBBINode::printTree(fRB->fForwardTree, TRUE); RBBINode::printTree(fRB->fForwardTree, true);
RBBIDebugPrintf("\nCompleted Reverse Rules Parse Tree...\n"); RBBIDebugPrintf("\nCompleted Reverse Rules Parse Tree...\n");
RBBINode::printTree(fRB->fReverseTree, TRUE); RBBINode::printTree(fRB->fReverseTree, true);
RBBIDebugPrintf("\nCompleted Safe Point Forward Rules Parse Tree...\n"); RBBIDebugPrintf("\nCompleted Safe Point Forward Rules Parse Tree...\n");
RBBINode::printTree(fRB->fSafeFwdTree, TRUE); RBBINode::printTree(fRB->fSafeFwdTree, true);
RBBIDebugPrintf("\nCompleted Safe Point Reverse Rules Parse Tree...\n"); RBBIDebugPrintf("\nCompleted Safe Point Reverse Rules Parse Tree...\n");
RBBINode::printTree(fRB->fSafeRevTree, TRUE); RBBINode::printTree(fRB->fSafeRevTree, true);
} }
#endif #endif
} }
@ -1154,7 +1154,7 @@ void RBBIRuleScanner::parse() {
void RBBIRuleScanner::printNodeStack(const char *title) { void RBBIRuleScanner::printNodeStack(const char *title) {
int i; int i;
RBBIDebugPrintf("%s. Dumping node stack...\n", title); RBBIDebugPrintf("%s. Dumping node stack...\n", title);
for (i=fNodeStackPtr; i>0; i--) {RBBINode::printTree(fNodeStack[i], TRUE);} for (i=fNodeStackPtr; i>0; i--) {RBBINode::printTree(fNodeStack[i], true);}
} }
#endif #endif

View File

@ -158,8 +158,8 @@ private:
UnicodeSet *gRuleSet_name_char; UnicodeSet *gRuleSet_name_char;
UnicodeSet *gRuleSet_name_start_char; UnicodeSet *gRuleSet_name_start_char;
RBBIRuleScanner(const RBBIRuleScanner &other); // forbid copying of this class RBBIRuleScanner(const RBBIRuleScanner &other) = delete; // forbid copying of this class
RBBIRuleScanner &operator=(const RBBIRuleScanner &other); // forbid copying of this class RBBIRuleScanner &operator=(const RBBIRuleScanner &other) = delete; // forbid copying of this class
}; };
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -261,7 +261,7 @@ void RBBISetBuilder::buildRanges() {
} }
if (inputSet->contains(bofString)) { if (inputSet->contains(bofString)) {
addValToSet(usetNode, 2); addValToSet(usetNode, 2);
fSawBOF = TRUE; fSawBOF = true;
} }
} }
@ -569,7 +569,7 @@ void RBBISetBuilder::printSets() {
RBBI_DEBUG_printUnicodeString(usetNode->fText); RBBI_DEBUG_printUnicodeString(usetNode->fText);
RBBIDebugPrintf("\n"); RBBIDebugPrintf("\n");
if (usetNode->fLeftChild != NULL) { if (usetNode->fLeftChild != NULL) {
RBBINode::printTree(usetNode->fLeftChild, TRUE); RBBINode::printTree(usetNode->fLeftChild, true);
} }
} }
RBBIDebugPrintf("\n"); RBBIDebugPrintf("\n");

View File

@ -134,8 +134,8 @@ private:
UBool fSawBOF; UBool fSawBOF;
RBBISetBuilder(const RBBISetBuilder &other); // forbid copying of this class RBBISetBuilder(const RBBISetBuilder &other) = delete; // forbid copying of this class
RBBISetBuilder &operator=(const RBBISetBuilder &other); // forbid copying of this class RBBISetBuilder &operator=(const RBBISetBuilder &other) = delete; // forbid copying of this class
}; };

View File

@ -254,8 +254,8 @@ void RBBISymbolTable::rbbiSymtablePrint() const {
} }
RBBISymbolTableEntry *s = (RBBISymbolTableEntry *)e->value.pointer; RBBISymbolTableEntry *s = (RBBISymbolTableEntry *)e->value.pointer;
RBBIDebugPrintf("%s\n", CStr(s->key)()); RBBIDebugPrintf("%s\n", CStr(s->key)());
RBBINode::printTree(s->val, TRUE); RBBINode::printTree(s->val, true);
RBBINode::printTree(s->val->fLeftChild, FALSE); RBBINode::printTree(s->val->fLeftChild, false);
RBBIDebugPrintf("\n"); RBBIDebugPrintf("\n");
} }
} }

View File

@ -85,7 +85,7 @@ void RBBITableBuilder::buildForwardTable() {
#ifdef RBBI_DEBUG #ifdef RBBI_DEBUG
if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ftree")) { if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "ftree")) {
RBBIDebugPuts("\nParse tree after flattening variable references."); RBBIDebugPuts("\nParse tree after flattening variable references.");
RBBINode::printTree(fTree, TRUE); RBBINode::printTree(fTree, true);
} }
#endif #endif
@ -143,7 +143,7 @@ void RBBITableBuilder::buildForwardTable() {
#ifdef RBBI_DEBUG #ifdef RBBI_DEBUG
if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "stree")) { if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "stree")) {
RBBIDebugPuts("\nParse tree after flattening Unicode Set references."); RBBIDebugPuts("\nParse tree after flattening Unicode Set references.");
RBBINode::printTree(fTree, TRUE); RBBINode::printTree(fTree, true);
} }
#endif #endif
@ -209,14 +209,14 @@ void RBBITableBuilder::calcNullable(RBBINode *n) {
if (n->fType == RBBINode::setRef || if (n->fType == RBBINode::setRef ||
n->fType == RBBINode::endMark ) { n->fType == RBBINode::endMark ) {
// These are non-empty leaf node types. // These are non-empty leaf node types.
n->fNullable = FALSE; n->fNullable = false;
return; return;
} }
if (n->fType == RBBINode::lookAhead || n->fType == RBBINode::tag) { if (n->fType == RBBINode::lookAhead || n->fType == RBBINode::tag) {
// Lookahead marker node. It's a leaf, so no recursion on children. // Lookahead marker node. It's a leaf, so no recursion on children.
// It's nullable because it does not match any literal text from the input stream. // It's nullable because it does not match any literal text from the input stream.
n->fNullable = TRUE; n->fNullable = true;
return; return;
} }
@ -234,10 +234,10 @@ void RBBITableBuilder::calcNullable(RBBINode *n) {
n->fNullable = n->fLeftChild->fNullable && n->fRightChild->fNullable; n->fNullable = n->fLeftChild->fNullable && n->fRightChild->fNullable;
} }
else if (n->fType == RBBINode::opStar || n->fType == RBBINode::opQuestion) { else if (n->fType == RBBINode::opStar || n->fType == RBBINode::opQuestion) {
n->fNullable = TRUE; n->fNullable = true;
} }
else { else {
n->fNullable = FALSE; n->fNullable = false;
} }
} }
@ -618,7 +618,7 @@ void RBBITableBuilder::buildStateTable() {
for (tx=1; tx<fDStates->size(); tx++) { for (tx=1; tx<fDStates->size(); tx++) {
RBBIStateDescriptor *temp; RBBIStateDescriptor *temp;
temp = (RBBIStateDescriptor *)fDStates->elementAt(tx); temp = (RBBIStateDescriptor *)fDStates->elementAt(tx);
if (temp->fMarked == FALSE) { if (temp->fMarked == false) {
T = temp; T = temp;
break; break;
} }
@ -628,7 +628,7 @@ void RBBITableBuilder::buildStateTable() {
} }
// mark T; // mark T;
T->fMarked = TRUE; T->fMarked = true;
// for each input symbol a do begin // for each input symbol a do begin
int32_t a; int32_t a;
@ -655,7 +655,7 @@ void RBBITableBuilder::buildStateTable() {
// if U is not empty and not in DStates then // if U is not empty and not in DStates then
int32_t ux = 0; int32_t ux = 0;
UBool UinDstates = FALSE; UBool UinDstates = false;
if (U != NULL) { if (U != NULL) {
U_ASSERT(U->size() > 0); U_ASSERT(U->size() > 0);
int ix; int ix;
@ -666,7 +666,7 @@ void RBBITableBuilder::buildStateTable() {
delete U; delete U;
U = temp2->fPositions; U = temp2->fPositions;
ux = ix; ux = ix;
UinDstates = TRUE; UinDstates = true;
break; break;
} }
} }
@ -1131,7 +1131,7 @@ void RBBITableBuilder::printPosSets(RBBINode *n) {
printf("\n"); printf("\n");
RBBINode::printNodeHeader(); RBBINode::printNodeHeader();
RBBINode::printNode(n); RBBINode::printNode(n);
RBBIDebugPrintf(" Nullable: %s\n", n->fNullable?"TRUE":"FALSE"); RBBIDebugPrintf(" Nullable: %s\n", n->fNullable?"true":"false");
RBBIDebugPrintf(" firstpos: "); RBBIDebugPrintf(" firstpos: ");
printSet(n->fFirstPosSet); printSet(n->fFirstPosSet);
@ -1773,7 +1773,7 @@ void RBBITableBuilder::printRuleStatusTable() {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
RBBIStateDescriptor::RBBIStateDescriptor(int lastInputSymbol, UErrorCode *fStatus) { RBBIStateDescriptor::RBBIStateDescriptor(int lastInputSymbol, UErrorCode *fStatus) {
fMarked = FALSE; fMarked = false;
fAccepting = 0; fAccepting = 0;
fLookAhead = 0; fLookAhead = 0;
fTagsIdx = 0; fTagsIdx = 0;

View File

@ -219,8 +219,8 @@ public:
~RBBIStateDescriptor(); ~RBBIStateDescriptor();
private: private:
RBBIStateDescriptor(const RBBIStateDescriptor &other); // forbid copying of this class RBBIStateDescriptor(const RBBIStateDescriptor &other) = delete; // forbid copying of this class
RBBIStateDescriptor &operator=(const RBBIStateDescriptor &other); // forbid copying of this class RBBIStateDescriptor &operator=(const RBBIStateDescriptor &other) = delete; // forbid copying of this class
}; };

View File

@ -254,7 +254,7 @@ ResourceBundle::clone() const {
UnicodeString ResourceBundle::getString(UErrorCode& status) const { UnicodeString ResourceBundle::getString(UErrorCode& status) const {
int32_t len = 0; int32_t len = 0;
const UChar *r = ures_getString(fResource, &len, &status); const UChar *r = ures_getString(fResource, &len, &status);
return UnicodeString(TRUE, r, len); return UnicodeString(true, r, len);
} }
const uint8_t *ResourceBundle::getBinary(int32_t& len, UErrorCode& status) const { const uint8_t *ResourceBundle::getBinary(int32_t& len, UErrorCode& status) const {
@ -312,13 +312,13 @@ ResourceBundle ResourceBundle::getNext(UErrorCode& status) {
UnicodeString ResourceBundle::getNextString(UErrorCode& status) { UnicodeString ResourceBundle::getNextString(UErrorCode& status) {
int32_t len = 0; int32_t len = 0;
const UChar* r = ures_getNextString(fResource, &len, 0, &status); const UChar* r = ures_getNextString(fResource, &len, 0, &status);
return UnicodeString(TRUE, r, len); return UnicodeString(true, r, len);
} }
UnicodeString ResourceBundle::getNextString(const char ** key, UErrorCode& status) { UnicodeString ResourceBundle::getNextString(const char ** key, UErrorCode& status) {
int32_t len = 0; int32_t len = 0;
const UChar* r = ures_getNextString(fResource, &len, key, &status); const UChar* r = ures_getNextString(fResource, &len, key, &status);
return UnicodeString(TRUE, r, len); return UnicodeString(true, r, len);
} }
ResourceBundle ResourceBundle::get(int32_t indexR, UErrorCode& status) const { ResourceBundle ResourceBundle::get(int32_t indexR, UErrorCode& status) const {
@ -336,7 +336,7 @@ ResourceBundle ResourceBundle::get(int32_t indexR, UErrorCode& status) const {
UnicodeString ResourceBundle::getStringEx(int32_t indexS, UErrorCode& status) const { UnicodeString ResourceBundle::getStringEx(int32_t indexS, UErrorCode& status) const {
int32_t len = 0; int32_t len = 0;
const UChar* r = ures_getStringByIndex(fResource, indexS, &len, &status); const UChar* r = ures_getStringByIndex(fResource, indexS, &len, &status);
return UnicodeString(TRUE, r, len); return UnicodeString(true, r, len);
} }
ResourceBundle ResourceBundle::get(const char* key, UErrorCode& status) const { ResourceBundle ResourceBundle::get(const char* key, UErrorCode& status) const {
@ -364,7 +364,7 @@ ResourceBundle ResourceBundle::getWithFallback(const char* key, UErrorCode& stat
UnicodeString ResourceBundle::getStringEx(const char* key, UErrorCode& status) const { UnicodeString ResourceBundle::getStringEx(const char* key, UErrorCode& status) const {
int32_t len = 0; int32_t len = 0;
const UChar* r = ures_getStringByKey(fResource, key, &len, &status); const UChar* r = ures_getStringByKey(fResource, key, &len, &status);
return UnicodeString(TRUE, r, len); return UnicodeString(true, r, len);
} }
const char* const char*

View File

@ -286,8 +286,8 @@ public:
UErrorCode &errorCode) = 0; UErrorCode &errorCode) = 0;
private: private:
ResourceSink(const ResourceSink &); // no copy constructor ResourceSink(const ResourceSink &) = delete; // no copy constructor
ResourceSink &operator=(const ResourceSink &); // no assignment operator ResourceSink &operator=(const ResourceSink &) = delete; // no assignment operator
}; };
U_NAMESPACE_END U_NAMESPACE_END

View File

@ -39,7 +39,7 @@ UChar32 RuleCharacterIterator::next(int32_t options, UBool& isEscaped, UErrorCod
if (U_FAILURE(ec)) return DONE; if (U_FAILURE(ec)) return DONE;
UChar32 c = DONE; UChar32 c = DONE;
isEscaped = FALSE; isEscaped = false;
for (;;) { for (;;) {
c = _current(); c = _current();
@ -75,7 +75,7 @@ UChar32 RuleCharacterIterator::next(int32_t options, UBool& isEscaped, UErrorCod
int32_t offset = 0; int32_t offset = 0;
c = lookahead(tempEscape, MAX_U_NOTATION_LEN).unescapeAt(offset); c = lookahead(tempEscape, MAX_U_NOTATION_LEN).unescapeAt(offset);
jumpahead(offset); jumpahead(offset);
isEscaped = TRUE; isEscaped = true;
if (c < 0) { if (c < 0) {
ec = U_MALFORMED_UNICODE_ESCAPE; ec = U_MALFORMED_UNICODE_ESCAPE;
return DONE; return DONE;

View File

@ -66,28 +66,28 @@ public:
/** /**
* Value returned when there are no more characters to iterate. * Value returned when there are no more characters to iterate.
*/ */
enum { DONE = -1 }; static constexpr int32_t DONE = -1;
/** /**
* Bitmask option to enable parsing of variable names. If (options & * Bitmask option to enable parsing of variable names. If (options &
* PARSE_VARIABLES) != 0, then an embedded variable will be expanded to * PARSE_VARIABLES) != 0, then an embedded variable will be expanded to
* its value. Variables are parsed using the SymbolTable API. * its value. Variables are parsed using the SymbolTable API.
*/ */
enum { PARSE_VARIABLES = 1 }; static constexpr int32_t PARSE_VARIABLES = 1;
/** /**
* Bitmask option to enable parsing of escape sequences. If (options & * Bitmask option to enable parsing of escape sequences. If (options &
* PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded * PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded
* to its value. Escapes are parsed using Utility.unescapeAt(). * to its value. Escapes are parsed using Utility.unescapeAt().
*/ */
enum { PARSE_ESCAPES = 2 }; static constexpr int32_t PARSE_ESCAPES = 2;
/** /**
* Bitmask option to enable skipping of whitespace. If (options & * Bitmask option to enable skipping of whitespace. If (options &
* SKIP_WHITESPACE) != 0, then Pattern_White_Space characters will be silently * SKIP_WHITESPACE) != 0, then Pattern_White_Space characters will be silently
* skipped, as if they were not present in the input. * skipped, as if they were not present in the input.
*/ */
enum { SKIP_WHITESPACE = 4 }; static constexpr int32_t SKIP_WHITESPACE = 4;
/** /**
* Constructs an iterator over the given text, starting at the given * Constructs an iterator over the given text, starting at the given

View File

@ -64,7 +64,7 @@ ICUServiceKey::currentDescriptor(UnicodeString& result) const
UBool UBool
ICUServiceKey::fallback() ICUServiceKey::fallback()
{ {
return FALSE; return false;
} }
UBool UBool
@ -249,7 +249,7 @@ public:
} }
/** /**
* Return TRUE if there is at least one reference to this and the * Return true if there is at least one reference to this and the
* resource has not been released. * resource has not been released.
*/ */
UBool isShared() const { UBool isShared() const {
@ -454,11 +454,11 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer
UnicodeString currentDescriptor; UnicodeString currentDescriptor;
LocalPointer<UVector> cacheDescriptorList; LocalPointer<UVector> cacheDescriptorList;
UBool putInCache = FALSE; UBool putInCache = false;
int32_t startIndex = 0; int32_t startIndex = 0;
int32_t limit = factories->size(); int32_t limit = factories->size();
UBool cacheResult = TRUE; UBool cacheResult = true;
if (factory != NULL) { if (factory != NULL) {
for (int32_t i = 0; i < limit; ++i) { for (int32_t i = 0; i < limit; ++i) {
@ -472,7 +472,7 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer
status = U_ILLEGAL_ARGUMENT_ERROR; status = U_ILLEGAL_ARGUMENT_ERROR;
return NULL; return NULL;
} }
cacheResult = FALSE; cacheResult = false;
} }
do { do {
@ -486,7 +486,7 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer
// first test of cache failed, so we'll have to update // first test of cache failed, so we'll have to update
// the cache if we eventually succeed-- that is, if we're // the cache if we eventually succeed-- that is, if we're
// going to update the cache at all. // going to update the cache at all.
putInCache = TRUE; putInCache = true;
int32_t index = startIndex; int32_t index = startIndex;
while (index < limit) { while (index < limit) {
@ -796,7 +796,7 @@ ICUService::getDisplayNames(UVector& result,
URegistryKey URegistryKey
ICUService::registerInstance(UObject* objToAdopt, const UnicodeString& id, UErrorCode& status) ICUService::registerInstance(UObject* objToAdopt, const UnicodeString& id, UErrorCode& status)
{ {
return registerInstance(objToAdopt, id, TRUE, status); return registerInstance(objToAdopt, id, true, status);
} }
URegistryKey URegistryKey
@ -864,13 +864,13 @@ UBool
ICUService::unregister(URegistryKey rkey, UErrorCode& status) ICUService::unregister(URegistryKey rkey, UErrorCode& status)
{ {
ICUServiceFactory *factory = (ICUServiceFactory*)rkey; ICUServiceFactory *factory = (ICUServiceFactory*)rkey;
UBool result = FALSE; UBool result = false;
if (factory != NULL && factories != NULL) { if (factory != NULL && factories != NULL) {
Mutex mutex(&lock); Mutex mutex(&lock);
if (factories->removeElement(factory)) { if (factories->removeElement(factory)) {
clearCaches(); clearCaches();
result = TRUE; result = true;
} else { } else {
status = U_ILLEGAL_ARGUMENT_ERROR; status = U_ILLEGAL_ARGUMENT_ERROR;
delete factory; delete factory;

View File

@ -126,24 +126,24 @@ LocaleKey::fallback() {
int x = _currentID.lastIndexOf(UNDERSCORE_CHAR); int x = _currentID.lastIndexOf(UNDERSCORE_CHAR);
if (x != -1) { if (x != -1) {
_currentID.remove(x); // truncate current or fallback, whichever we're pointing to _currentID.remove(x); // truncate current or fallback, whichever we're pointing to
return TRUE; return true;
} }
if (!_fallbackID.isBogus()) { if (!_fallbackID.isBogus()) {
_currentID = _fallbackID; _currentID = _fallbackID;
_fallbackID.setToBogus(); _fallbackID.setToBogus();
return TRUE; return true;
} }
if (_currentID.length() > 0) { if (_currentID.length() > 0) {
_currentID.remove(0); // completely truncate _currentID.remove(0); // completely truncate
return TRUE; return true;
} }
_currentID.setToBogus(); _currentID.setToBogus();
} }
return FALSE; return false;
} }
UBool UBool

View File

@ -65,7 +65,7 @@ LocaleKeyFactory::handlesKey(const ICUServiceKey& key, UErrorCode& status) const
key.currentID(id); key.currentID(id);
return supported->get(id) != NULL; return supported->get(id) != NULL;
} }
return FALSE; return false;
} }
void void

View File

@ -215,11 +215,11 @@ public:
UBool upToDate(UErrorCode& status) const { UBool upToDate(UErrorCode& status) const {
if (U_SUCCESS(status)) { if (U_SUCCESS(status)) {
if (_timestamp == _service->getTimestamp()) { if (_timestamp == _service->getTimestamp()) {
return TRUE; return true;
} }
status = U_ENUM_OUT_OF_SYNC_ERROR; status = U_ENUM_OUT_OF_SYNC_ERROR;
} }
return FALSE; return false;
} }
virtual int32_t count(UErrorCode& status) const override { virtual int32_t count(UErrorCode& status) const override {

View File

@ -38,8 +38,8 @@ public:
virtual ~UnifiedCacheBase(); virtual ~UnifiedCacheBase();
private: private:
UnifiedCacheBase(const UnifiedCacheBase &); UnifiedCacheBase(const UnifiedCacheBase &) = delete;
UnifiedCacheBase &operator=(const UnifiedCacheBase &); UnifiedCacheBase &operator=(const UnifiedCacheBase &) = delete;
}; };
/** /**

View File

@ -65,7 +65,7 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
int32_t min, int32_t max, int32_t min, int32_t max,
UErrorCode &errorCode) { UErrorCode &errorCode) {
if (U_FAILURE(errorCode)) { if (U_FAILURE(errorCode)) {
return FALSE; return false;
} }
// Parse consistent with MessagePattern, but // Parse consistent with MessagePattern, but
// - support only simple numbered arguments // - support only simple numbered arguments
@ -76,7 +76,7 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
compiledPattern.setTo((UChar)0); compiledPattern.setTo((UChar)0);
int32_t textLength = 0; int32_t textLength = 0;
int32_t maxArg = -1; int32_t maxArg = -1;
UBool inQuote = FALSE; UBool inQuote = false;
for (int32_t i = 0; i < patternLength;) { for (int32_t i = 0; i < patternLength;) {
UChar c = patternBuffer[i++]; UChar c = patternBuffer[i++];
if (c == APOS) { if (c == APOS) {
@ -85,12 +85,12 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
++i; ++i;
} else if (inQuote) { } else if (inQuote) {
// skip the quote-ending apostrophe // skip the quote-ending apostrophe
inQuote = FALSE; inQuote = false;
continue; continue;
} else if (c == OPEN_BRACE || c == CLOSE_BRACE) { } else if (c == OPEN_BRACE || c == CLOSE_BRACE) {
// Skip the quote-starting apostrophe, find the end of the quoted literal text. // Skip the quote-starting apostrophe, find the end of the quoted literal text.
++i; ++i;
inQuote = TRUE; inQuote = true;
} else { } else {
// The apostrophe is part of literal text. // The apostrophe is part of literal text.
c = APOS; c = APOS;
@ -123,7 +123,7 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
} }
if (argNumber < 0 || c != CLOSE_BRACE) { if (argNumber < 0 || c != CLOSE_BRACE) {
errorCode = U_ILLEGAL_ARGUMENT_ERROR; errorCode = U_ILLEGAL_ARGUMENT_ERROR;
return FALSE; return false;
} }
} }
if (argNumber > maxArg) { if (argNumber > maxArg) {
@ -149,10 +149,10 @@ UBool SimpleFormatter::applyPatternMinMaxArguments(
int32_t argCount = maxArg + 1; int32_t argCount = maxArg + 1;
if (argCount < min || max < argCount) { if (argCount < min || max < argCount) {
errorCode = U_ILLEGAL_ARGUMENT_ERROR; errorCode = U_ILLEGAL_ARGUMENT_ERROR;
return FALSE; return false;
} }
compiledPattern.setCharAt(0, (UChar)argCount); compiledPattern.setCharAt(0, (UChar)argCount);
return TRUE; return true;
} }
UnicodeString& SimpleFormatter::format( UnicodeString& SimpleFormatter::format(
@ -192,7 +192,7 @@ UnicodeString& SimpleFormatter::formatAndAppend(
return appendTo; return appendTo;
} }
return format(compiledPattern.getBuffer(), compiledPattern.length(), values, return format(compiledPattern.getBuffer(), compiledPattern.length(), values,
appendTo, NULL, TRUE, appendTo, NULL, true,
offsets, offsetsLength, errorCode); offsets, offsetsLength, errorCode);
} }
@ -241,7 +241,7 @@ UnicodeString &SimpleFormatter::formatAndReplace(
result.remove(); result.remove();
} }
return format(cp, cpLength, values, return format(cp, cpLength, values,
result, &resultCopy, FALSE, result, &resultCopy, false,
offsets, offsetsLength, errorCode); offsets, offsetsLength, errorCode);
} }

View File

@ -31,7 +31,7 @@ alignas(UnicodeSet)
char gEmptyUnicodeSet[sizeof(UnicodeSet)]; char gEmptyUnicodeSet[sizeof(UnicodeSet)];
// Whether the gEmptyUnicodeSet is initialized and ready to use. // Whether the gEmptyUnicodeSet is initialized and ready to use.
UBool gEmptyUnicodeSetInitialized = FALSE; UBool gEmptyUnicodeSetInitialized = false;
inline UnicodeSet* getImpl(Key key) { inline UnicodeSet* getImpl(Key key) {
UnicodeSet* candidate = gUnicodeSets[key]; UnicodeSet* candidate = gUnicodeSets[key];
@ -118,7 +118,7 @@ class ParseDataSink : public ResourceSink {
} else { } else {
// Unknown class of parse lenients // Unknown class of parse lenients
// TODO(ICU-20428): Make ICU automatically accept new classes? // TODO(ICU-20428): Make ICU automatically accept new classes?
U_ASSERT(FALSE); U_ASSERT(false);
} }
if (U_FAILURE(status)) { return; } if (U_FAILURE(status)) { return; }
} }
@ -129,19 +129,19 @@ class ParseDataSink : public ResourceSink {
}; };
icu::UInitOnce gNumberParseUniSetsInitOnce = U_INITONCE_INITIALIZER; icu::UInitOnce gNumberParseUniSetsInitOnce {};
UBool U_CALLCONV cleanupNumberParseUniSets() { UBool U_CALLCONV cleanupNumberParseUniSets() {
if (gEmptyUnicodeSetInitialized) { if (gEmptyUnicodeSetInitialized) {
reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->~UnicodeSet(); reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->~UnicodeSet();
gEmptyUnicodeSetInitialized = FALSE; gEmptyUnicodeSetInitialized = false;
} }
for (int32_t i = 0; i < UNISETS_KEY_COUNT; i++) { for (int32_t i = 0; i < UNISETS_KEY_COUNT; i++) {
delete gUnicodeSets[i]; delete gUnicodeSets[i];
gUnicodeSets[i] = nullptr; gUnicodeSets[i] = nullptr;
} }
gNumberParseUniSetsInitOnce.reset(); gNumberParseUniSetsInitOnce.reset();
return TRUE; return true;
} }
void U_CALLCONV initNumberParseUniSets(UErrorCode& status) { void U_CALLCONV initNumberParseUniSets(UErrorCode& status) {
@ -150,7 +150,7 @@ void U_CALLCONV initNumberParseUniSets(UErrorCode& status) {
// Initialize the empty instance for well-defined fallback behavior // Initialize the empty instance for well-defined fallback behavior
new(gEmptyUnicodeSet) UnicodeSet(); new(gEmptyUnicodeSet) UnicodeSet();
reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->freeze(); reinterpret_cast<UnicodeSet*>(gEmptyUnicodeSet)->freeze();
gEmptyUnicodeSetInitialized = TRUE; gEmptyUnicodeSetInitialized = true;
// These sets were decided after discussion with icu-design@. See tickets #13084 and #13309. // These sets were decided after discussion with icu-design@. See tickets #13084 and #13309.
// Zs+TAB is "horizontal whitespace" according to UTS #18 (blank property). // Zs+TAB is "horizontal whitespace" according to UTS #18 (blank property).

View File

@ -85,16 +85,16 @@ StringTrieBuilder::build(UStringTrieBuildOption buildOption, int32_t elementsLen
// have a common prefix of length unitIndex. // have a common prefix of length unitIndex.
int32_t int32_t
StringTrieBuilder::writeNode(int32_t start, int32_t limit, int32_t unitIndex) { StringTrieBuilder::writeNode(int32_t start, int32_t limit, int32_t unitIndex) {
UBool hasValue=FALSE; UBool hasValue=false;
int32_t value=0; int32_t value=0;
int32_t type; int32_t type;
if(unitIndex==getElementStringLength(start)) { if(unitIndex==getElementStringLength(start)) {
// An intermediate or final value. // An intermediate or final value.
value=getElementValue(start++); value=getElementValue(start++);
if(start==limit) { if(start==limit) {
return writeValueAndFinal(value, TRUE); // final-value node return writeValueAndFinal(value, true); // final-value node
} }
hasValue=TRUE; hasValue=true;
} }
// Now all [start..limit[ strings are longer than unitIndex. // Now all [start..limit[ strings are longer than unitIndex.
int32_t minUnit=getElementUnit(start, unitIndex); int32_t minUnit=getElementUnit(start, unitIndex);
@ -209,7 +209,7 @@ StringTrieBuilder::makeNode(int32_t start, int32_t limit, int32_t unitIndex, UEr
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return NULL; return NULL;
} }
UBool hasValue=FALSE; UBool hasValue=false;
int32_t value=0; int32_t value=0;
if(unitIndex==getElementStringLength(start)) { if(unitIndex==getElementStringLength(start)) {
// An intermediate or final value. // An intermediate or final value.
@ -217,7 +217,7 @@ StringTrieBuilder::makeNode(int32_t start, int32_t limit, int32_t unitIndex, UEr
if(start==limit) { if(start==limit) {
return registerFinalValue(value, errorCode); return registerFinalValue(value, errorCode);
} }
hasValue=TRUE; hasValue=true;
} }
Node *node; Node *node;
// Now all [start..limit[ strings are longer than unitIndex. // Now all [start..limit[ strings are longer than unitIndex.
@ -410,7 +410,7 @@ StringTrieBuilder::FinalValueNode::operator==(const Node &other) const {
void void
StringTrieBuilder::FinalValueNode::write(StringTrieBuilder &builder) { StringTrieBuilder::FinalValueNode::write(StringTrieBuilder &builder) {
offset=builder.writeValueAndFinal(value, TRUE); offset=builder.writeValueAndFinal(value, true);
} }
bool bool
@ -448,7 +448,7 @@ StringTrieBuilder::IntermediateValueNode::markRightEdgesFirst(int32_t edgeNumber
void void
StringTrieBuilder::IntermediateValueNode::write(StringTrieBuilder &builder) { StringTrieBuilder::IntermediateValueNode::write(StringTrieBuilder &builder) {
next->write(builder); next->write(builder);
offset=builder.writeValueAndFinal(value, FALSE); offset=builder.writeValueAndFinal(value, false);
} }
bool bool
@ -526,7 +526,7 @@ StringTrieBuilder::ListBranchNode::write(StringTrieBuilder &builder) {
// not jump for it at all. // not jump for it at all.
unitNumber=length-1; unitNumber=length-1;
if(rightEdge==NULL) { if(rightEdge==NULL) {
builder.writeValueAndFinal(values[unitNumber], TRUE); builder.writeValueAndFinal(values[unitNumber], true);
} else { } else {
rightEdge->write(builder); rightEdge->write(builder);
} }
@ -538,12 +538,12 @@ StringTrieBuilder::ListBranchNode::write(StringTrieBuilder &builder) {
if(equal[unitNumber]==NULL) { if(equal[unitNumber]==NULL) {
// Write the final value for the one string ending with this unit. // Write the final value for the one string ending with this unit.
value=values[unitNumber]; value=values[unitNumber];
isFinal=TRUE; isFinal=true;
} else { } else {
// Write the delta to the start position of the sub-node. // Write the delta to the start position of the sub-node.
U_ASSERT(equal[unitNumber]->getOffset()>0); U_ASSERT(equal[unitNumber]->getOffset()>0);
value=offset-equal[unitNumber]->getOffset(); value=offset-equal[unitNumber]->getOffset();
isFinal=FALSE; isFinal=false;
} }
builder.writeValueAndFinal(value, isFinal); builder.writeValueAndFinal(value, isFinal);
offset=builder.write(units[unitNumber]); offset=builder.write(units[unitNumber]);

View File

@ -75,7 +75,7 @@ U_CAPI int32_t U_EXPORT2
uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize, uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize,
UComparator *cmp, const void *context) { UComparator *cmp, const void *context) {
int32_t start=0; int32_t start=0;
UBool found=FALSE; UBool found=false;
/* Binary search until we get down to a tiny sub-array. */ /* Binary search until we get down to a tiny sub-array. */
while((limit-start)>=MIN_QSORT) { while((limit-start)>=MIN_QSORT) {
@ -90,10 +90,10 @@ uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize
* However, if there are many equal items, then it should be * However, if there are many equal items, then it should be
* faster to continue with the binary search. * faster to continue with the binary search.
* It seems likely that we either have all unique items * It seems likely that we either have all unique items
* (where found will never become TRUE in the insertion sort) * (where found will never become true in the insertion sort)
* or potentially many duplicates. * or potentially many duplicates.
*/ */
found=TRUE; found=true;
start=i+1; start=i+1;
} else if(diff<0) { } else if(diff<0) {
limit=i; limit=i;
@ -106,7 +106,7 @@ uprv_stableBinarySearch(char *array, int32_t limit, void *item, int32_t itemSize
while(start<limit) { while(start<limit) {
int32_t diff=cmp(context, item, array+start*itemSize); int32_t diff=cmp(context, item, array+start*itemSize);
if(diff==0) { if(diff==0) {
found=TRUE; found=true;
} else if(diff<0) { } else if(diff<0) {
break; break;
} }

View File

@ -149,7 +149,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
return NULL; return NULL;
} }
/* reset the object, all pointers NULL, all flags FALSE, all sizes 0 */ /* reset the object, all pointers NULL, all flags false, all sizes 0 */
uprv_memset(pBiDi, 0, sizeof(UBiDi)); uprv_memset(pBiDi, 0, sizeof(UBiDi));
/* allocate memory for arrays as requested */ /* allocate memory for arrays as requested */
@ -160,7 +160,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
*pErrorCode=U_MEMORY_ALLOCATION_ERROR; *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
} }
} else { } else {
pBiDi->mayAllocateText=TRUE; pBiDi->mayAllocateText=true;
} }
if(maxRunCount>0) { if(maxRunCount>0) {
@ -171,7 +171,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
*pErrorCode=U_MEMORY_ALLOCATION_ERROR; *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
} }
} else { } else {
pBiDi->mayAllocateRuns=TRUE; pBiDi->mayAllocateRuns=true;
} }
if(U_SUCCESS(*pErrorCode)) { if(U_SUCCESS(*pErrorCode)) {
@ -184,7 +184,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
/* /*
* We are allowed to allocate memory if memory==NULL or * We are allowed to allocate memory if memory==NULL or
* mayAllocate==TRUE for each array that we need. * mayAllocate==true for each array that we need.
* We also try to grow memory as needed if we * We also try to grow memory as needed if we
* allocate it. * allocate it.
* *
@ -203,18 +203,18 @@ ubidi_getMemory(BidiMemoryForAllocation *bidiMem, int32_t *pSize, UBool mayAlloc
/* we need to allocate memory */ /* we need to allocate memory */
if(mayAllocate && (*pMemory=uprv_malloc(sizeNeeded))!=NULL) { if(mayAllocate && (*pMemory=uprv_malloc(sizeNeeded))!=NULL) {
*pSize=sizeNeeded; *pSize=sizeNeeded;
return TRUE; return true;
} else { } else {
return FALSE; return false;
} }
} else { } else {
if(sizeNeeded<=*pSize) { if(sizeNeeded<=*pSize) {
/* there is already enough memory */ /* there is already enough memory */
return TRUE; return true;
} }
else if(!mayAllocate) { else if(!mayAllocate) {
/* not enough memory, and we must not allocate */ /* not enough memory, and we must not allocate */
return FALSE; return false;
} else { } else {
/* we try to grow */ /* we try to grow */
void *memory; void *memory;
@ -225,10 +225,10 @@ ubidi_getMemory(BidiMemoryForAllocation *bidiMem, int32_t *pSize, UBool mayAlloc
if((memory=uprv_realloc(*pMemory, sizeNeeded))!=NULL) { if((memory=uprv_realloc(*pMemory, sizeNeeded))!=NULL) {
*pMemory=memory; *pMemory=memory;
*pSize=sizeNeeded; *pSize=sizeNeeded;
return TRUE; return true;
} else { } else {
/* we failed to grow */ /* we failed to grow */
return FALSE; return false;
} }
} }
} }
@ -280,7 +280,7 @@ ubidi_isInverse(UBiDi *pBiDi) {
if(pBiDi!=NULL) { if(pBiDi!=NULL) {
return pBiDi->isInverse; return pBiDi->isInverse;
} else { } else {
return FALSE; return false;
} }
} }
@ -403,17 +403,17 @@ checkParaCount(UBiDi *pBiDi) {
int32_t count=pBiDi->paraCount; int32_t count=pBiDi->paraCount;
if(pBiDi->paras==pBiDi->simpleParas) { if(pBiDi->paras==pBiDi->simpleParas) {
if(count<=SIMPLE_PARAS_COUNT) if(count<=SIMPLE_PARAS_COUNT)
return TRUE; return true;
if(!getInitialParasMemory(pBiDi, SIMPLE_PARAS_COUNT * 2)) if(!getInitialParasMemory(pBiDi, SIMPLE_PARAS_COUNT * 2))
return FALSE; return false;
pBiDi->paras=pBiDi->parasMemory; pBiDi->paras=pBiDi->parasMemory;
uprv_memcpy(pBiDi->parasMemory, pBiDi->simpleParas, SIMPLE_PARAS_COUNT * sizeof(Para)); uprv_memcpy(pBiDi->parasMemory, pBiDi->simpleParas, SIMPLE_PARAS_COUNT * sizeof(Para));
return TRUE; return true;
} }
if(!getInitialParasMemory(pBiDi, count * 2)) if(!getInitialParasMemory(pBiDi, count * 2))
return FALSE; return false;
pBiDi->paras=pBiDi->parasMemory; pBiDi->paras=pBiDi->parasMemory;
return TRUE; return true;
} }
/* /*
@ -579,8 +579,8 @@ getDirProps(UBiDi *pBiDi) {
} }
if(i<originalLength) { /* B not last char in text */ if(i<originalLength) { /* B not last char in text */
pBiDi->paraCount++; pBiDi->paraCount++;
if(checkParaCount(pBiDi)==FALSE) /* not enough memory for a new para entry */ if(checkParaCount(pBiDi)==false) /* not enough memory for a new para entry */
return FALSE; return false;
if(isDefaultLevel) { if(isDefaultLevel) {
pBiDi->paras[pBiDi->paraCount-1].level=defaultParaLevel; pBiDi->paras[pBiDi->paraCount-1].level=defaultParaLevel;
state=SEEKING_STRONG_FOR_PARA; state=SEEKING_STRONG_FOR_PARA;
@ -636,7 +636,7 @@ getDirProps(UBiDi *pBiDi) {
} }
pBiDi->flags=flags; pBiDi->flags=flags;
pBiDi->lastArabicPos=lastArabicPos; pBiDi->lastArabicPos=lastArabicPos;
return TRUE; return true;
} }
/* determine the paragraph level at position index */ /* determine the paragraph level at position index */
@ -743,14 +743,14 @@ bracketProcessPDI(BracketData *bd) {
} }
/* newly found opening bracket: create an openings entry */ /* newly found opening bracket: create an openings entry */
static UBool /* return TRUE if success */ static UBool /* return true if success */
bracketAddOpening(BracketData *bd, UChar match, int32_t position) { bracketAddOpening(BracketData *bd, UChar match, int32_t position) {
IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast]; IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast];
Opening *pOpening; Opening *pOpening;
if(pLastIsoRun->limit>=bd->openingsCount) { /* no available new entry */ if(pLastIsoRun->limit>=bd->openingsCount) { /* no available new entry */
UBiDi *pBiDi=bd->pBiDi; UBiDi *pBiDi=bd->pBiDi;
if(!getInitialOpeningsMemory(pBiDi, pLastIsoRun->limit * 2)) if(!getInitialOpeningsMemory(pBiDi, pLastIsoRun->limit * 2))
return FALSE; return false;
if(bd->openings==bd->simpleOpenings) if(bd->openings==bd->simpleOpenings)
uprv_memcpy(pBiDi->openingsMemory, bd->simpleOpenings, uprv_memcpy(pBiDi->openingsMemory, bd->simpleOpenings,
SIMPLE_OPENINGS_COUNT * sizeof(Opening)); SIMPLE_OPENINGS_COUNT * sizeof(Opening));
@ -764,7 +764,7 @@ bracketAddOpening(BracketData *bd, UChar match, int32_t position) {
pOpening->contextPos=pLastIsoRun->contextPos; pOpening->contextPos=pLastIsoRun->contextPos;
pOpening->flags=0; pOpening->flags=0;
pLastIsoRun->limit++; pLastIsoRun->limit++;
return TRUE; return true;
} }
/* change N0c1 to N0c2 when a preceding bracket is assigned the embedding level */ /* change N0c1 to N0c2 when a preceding bracket is assigned the embedding level */
@ -804,7 +804,7 @@ bracketProcessClosing(BracketData *bd, int32_t openIdx, int32_t position) {
DirProp newProp; DirProp newProp;
pOpening=&bd->openings[openIdx]; pOpening=&bd->openings[openIdx];
direction=(UBiDiDirection)(pLastIsoRun->level&1); direction=(UBiDiDirection)(pLastIsoRun->level&1);
stable=TRUE; /* assume stable until proved otherwise */ stable=true; /* assume stable until proved otherwise */
/* The stable flag is set when brackets are paired and their /* The stable flag is set when brackets are paired and their
level is resolved and cannot be changed by what will be level is resolved and cannot be changed by what will be
@ -873,7 +873,7 @@ bracketProcessClosing(BracketData *bd, int32_t openIdx, int32_t position) {
} }
/* handle strong characters, digits and candidates for closing brackets */ /* handle strong characters, digits and candidates for closing brackets */
static UBool /* return TRUE if success */ static UBool /* return true if success */
bracketProcessChar(BracketData *bd, int32_t position) { bracketProcessChar(BracketData *bd, int32_t position) {
IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast]; IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast];
DirProp *dirProps, dirProp, newProp; DirProp *dirProps, dirProp, newProp;
@ -912,7 +912,7 @@ bracketProcessChar(BracketData *bd, int32_t position) {
} }
/* matching brackets are not overridden by LRO/RLO */ /* matching brackets are not overridden by LRO/RLO */
bd->pBiDi->levels[bd->openings[idx].position]&=~UBIDI_LEVEL_OVERRIDE; bd->pBiDi->levels[bd->openings[idx].position]&=~UBIDI_LEVEL_OVERRIDE;
return TRUE; return true;
} }
/* We get here only if the ON character is not a matching closing /* We get here only if the ON character is not a matching closing
bracket or it is a case of N0d */ bracket or it is a case of N0d */
@ -927,14 +927,14 @@ bracketProcessChar(BracketData *bd, int32_t position) {
create an opening entry for each synonym */ create an opening entry for each synonym */
if(match==0x232A) { /* RIGHT-POINTING ANGLE BRACKET */ if(match==0x232A) { /* RIGHT-POINTING ANGLE BRACKET */
if(!bracketAddOpening(bd, 0x3009, position)) if(!bracketAddOpening(bd, 0x3009, position))
return FALSE; return false;
} }
else if(match==0x3009) { /* RIGHT ANGLE BRACKET */ else if(match==0x3009) { /* RIGHT ANGLE BRACKET */
if(!bracketAddOpening(bd, 0x232A, position)) if(!bracketAddOpening(bd, 0x232A, position))
return FALSE; return false;
} }
if(!bracketAddOpening(bd, match, position)) if(!bracketAddOpening(bd, match, position))
return FALSE; return false;
} }
} }
level=bd->pBiDi->levels[position]; level=bd->pBiDi->levels[position];
@ -998,7 +998,7 @@ bracketProcessChar(BracketData *bd, int32_t position) {
if(position>bd->openings[i].position) if(position>bd->openings[i].position)
bd->openings[i].flags|=flag; bd->openings[i].flags|=flag;
} }
return TRUE; return true;
} }
/* perform (X1)..(X9) ------------------------------------------------------- */ /* perform (X1)..(X9) ------------------------------------------------------- */
@ -2432,11 +2432,11 @@ setParaRunsOnly(UBiDi *pBiDi, const UChar *text, int32_t length,
* than the original text. But we don't want the levels memory to be * than the original text. But we don't want the levels memory to be
* reallocated shorter than the original length, since we need to restore * reallocated shorter than the original length, since we need to restore
* the levels as after the first call to ubidi_setpara() before returning. * the levels as after the first call to ubidi_setpara() before returning.
* We will force mayAllocateText to FALSE before the second call to * We will force mayAllocateText to false before the second call to
* ubidi_setpara(), and will restore it afterwards. * ubidi_setpara(), and will restore it afterwards.
*/ */
saveMayAllocateText=pBiDi->mayAllocateText; saveMayAllocateText=pBiDi->mayAllocateText;
pBiDi->mayAllocateText=FALSE; pBiDi->mayAllocateText=false;
ubidi_setPara(pBiDi, visualText, visualLength, paraLevel, NULL, pErrorCode); ubidi_setPara(pBiDi, visualText, visualLength, paraLevel, NULL, pErrorCode);
pBiDi->mayAllocateText=saveMayAllocateText; pBiDi->mayAllocateText=saveMayAllocateText;
ubidi_getRuns(pBiDi, pErrorCode); ubidi_getRuns(pBiDi, pErrorCode);
@ -2866,7 +2866,7 @@ ubidi_isOrderParagraphsLTR(UBiDi *pBiDi) {
if(pBiDi!=NULL) { if(pBiDi!=NULL) {
return pBiDi->orderParagraphsLTR; return pBiDi->orderParagraphsLTR;
} else { } else {
return FALSE; return false;
} }
} }

View File

@ -53,7 +53,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 end, uint32
/* add the start code point to the USet */ /* add the start code point to the USet */
const USetAdder *sa=(const USetAdder *)context; const USetAdder *sa=(const USetAdder *)context;
sa->add(sa->set, start); sa->add(sa->set, start);
return TRUE; return true;
} }
U_CFUNC void U_CFUNC void

View File

@ -9,11 +9,11 @@
#ifdef INCLUDED_FROM_UBIDI_PROPS_C #ifdef INCLUDED_FROM_UBIDI_PROPS_C
static const UVersionInfo ubidi_props_dataVersion={0xe,0,0,0}; static const UVersionInfo ubidi_props_dataVersion={0xf,0,0,0};
static const int32_t ubidi_props_indexes[UBIDI_IX_TOP]={0x10,0x6a98,0x64a8,0x28,0x620,0x8cc,0x10ac0,0x10d24,0,0,0,0,0,0,0,0x6702b6}; static const int32_t ubidi_props_indexes[UBIDI_IX_TOP]={0x10,0x6bc0,0x65d0,0x28,0x620,0x8cc,0x10ac0,0x10d24,0,0,0,0,0,0,0,0x6702b6};
static const uint16_t ubidi_props_trieIndex[12876]={ static const uint16_t ubidi_props_trieIndex[13024]={
0x387,0x38f,0x397,0x39f,0x3b7,0x3bf,0x3c7,0x3cf,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af, 0x387,0x38f,0x397,0x39f,0x3b7,0x3bf,0x3c7,0x3cf,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,
0x3a7,0x3af,0x3a7,0x3af,0x3d5,0x3dd,0x3e5,0x3ed,0x3f5,0x3fd,0x3f9,0x401,0x409,0x411,0x40c,0x414, 0x3a7,0x3af,0x3a7,0x3af,0x3d5,0x3dd,0x3e5,0x3ed,0x3f5,0x3fd,0x3f9,0x401,0x409,0x411,0x40c,0x414,
0x3a7,0x3af,0x3a7,0x3af,0x41c,0x424,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x42a,0x432,0x43a,0x442, 0x3a7,0x3af,0x3a7,0x3af,0x41c,0x424,0x3a7,0x3af,0x3a7,0x3af,0x3a7,0x3af,0x42a,0x432,0x43a,0x442,
@ -185,61 +185,61 @@ static const uint16_t ubidi_props_trieIndex[12876]={
0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9a6,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c, 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9a6,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
0x9ae,0x9b2,0x43c,0x43c,0x43c,0x43c,0x9c2,0x9ba,0x43c,0x9ca,0x43c,0x43c,0x9d2,0x9d8,0x43c,0x43c, 0x9ae,0x9b2,0x43c,0x43c,0x43c,0x43c,0x9c2,0x9ba,0x43c,0x9ca,0x43c,0x43c,0x9d2,0x9d8,0x43c,0x43c,
0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9e8,0x9e0,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c, 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x9e8,0x9e0,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
0x43c,0x43c,0x43c,0x9f0,0x43c,0x9f8,0x43c,0x43c,0x43c,0x9fc,0xa03,0xa09,0xa11,0xa15,0xa1d,0x43c, 0x43c,0x43c,0x43c,0x9f0,0x43c,0x9f8,0x4a6,0xa00,0x43c,0xa08,0xa0f,0xa15,0xa1d,0xa21,0xa29,0x43c,
0x51b,0xa25,0xa2c,0xa33,0x41e,0xa3b,0x569,0x3a7,0x501,0xa42,0x3a7,0xa48,0x41e,0xa4d,0xa55,0x3a7, 0x51b,0xa31,0xa38,0xa3f,0x41e,0xa47,0x569,0x3a7,0x501,0xa4e,0x3a7,0xa54,0x41e,0xa59,0xa61,0x3a7,
0x3a7,0xa5a,0x3a7,0x3a7,0x3a7,0x3a7,0x836,0xa62,0x41e,0x5a3,0x57e,0xa69,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0xa66,0x51b,0x3a7,0x3a7,0x3a7,0x836,0xa6e,0x41e,0x5a3,0x57e,0xa75,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0xa25,0xa71,0x3a7,0x3a7,0xa79,0xa81,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa85,0xa8d,0x3a7, 0x3a7,0xa31,0xa7d,0x3a7,0x3a7,0xa85,0xa8d,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa91,0xa99,0x3a7,
0x3a7,0xa95,0x57e,0xa9d,0x3a7,0xaa3,0x3a7,0x3a7,0x60f,0xaab,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0xaa1,0x57e,0xaa9,0x3a7,0xaaf,0x3a7,0x3a7,0x60f,0xab7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0xab0,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xab7,0xabf,0x3a7,0x3a7,0x3a7,0xac2,0x57e,0xaca, 0xabc,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xac3,0xacb,0x3a7,0x3a7,0x3a7,0xace,0x57e,0xad6,
0xace,0xad6,0x3a7,0xadd,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0xada,0xae2,0x3a7,0xae9,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0xae4,0x3a7,0x3a7,0xaf2,0xaec,0x3a7,0x3a7,0x3a7,0xafa,0xb02,0x3a7,0xb06,0x3a7,0x3a7,0x3a7,0x3a7, 0xaf0,0x3a7,0x3a7,0xafe,0xaf8,0x3a7,0x3a7,0x3a7,0xb06,0xb0e,0x3a7,0xb12,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x5a5,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb13,0xb0e,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x5a5,0x41e,0x99e,0xb1a,0x3a7,0x3a7,0x3a7,0xb27,0xb22,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0xb1b,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0xb2f,0xb37,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb22, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb3d,
0x3a7,0xb28,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0xb43,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0xa49,0x3a7,0xb2e,0x3a7,0x3a7,0xb36,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0xa55,0x3a7,0xb49,0x3a7,0x3a7,0xb51,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x535,0xb3e,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x535,0xb59,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xb46,0x500,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xb61,0x500,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0xb4e,0xb56,0xb5c,0x3a7,0xb62,0x67c,0x67c,0xb6a,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0xb69,0xb71,0xb77,0x3a7,0xb7d,0x67c,0x67c,0xb85,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x67c,0x67c,0xb72,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x67c,0x67c,0xb8d,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb78, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xb93,
0x3a7,0xb7f,0x3a7,0xb7b,0x3a7,0xb82,0x3a7,0xb8a,0xb8e,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0xb9a,0x3a7,0xb96,0x3a7,0xb9d,0x3a7,0xba5,0xba9,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xb96,0x3f5,0xb9d,0xba4,0xbac,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3f5,0xbb1,0x3f5,0xbb8,0xbbf,0xbc7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xbb4,0xbbc,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xbcf,0xbd7,0x3a7,0x3a7,0xa55,0x3a7,0x3a7,
0x3a7,0x3a7,0xb28,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa75,0x3a7, 0x3a7,0x3a7,0xb43,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xa81,0x3a7,
0xbc1,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0xbdc,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0xbe4,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0xbc9, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0xbec,
0x43c,0xbd1,0xbd1,0xbd8,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c, 0x43c,0xbf4,0xbf4,0xbfb,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,
0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x91e,0x4a6,0x4a6,0x43c, 0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x91e,0x4a6,0x4a6,0x43c,
0x43c,0x4a6,0x4a6,0xbe0,0x43c,0x43c,0x43c,0x43c,0x43c,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6, 0x43c,0x4a6,0x4a6,0xc03,0x43c,0x43c,0x43c,0x43c,0x43c,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,0x4a6,
0xbe8,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x67c,0xbf0,0x67c,0x67c,0x67f,0xbf5,0xbf9, 0xc0b,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x43c,0x67c,0xc13,0x67c,0x67c,0x67f,0xc18,0xc1c,
0x858,0xc01,0x3c9,0x3a7,0xc07,0x3a7,0xc0c,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x783,0x3a7,0x3a7,0x3a7, 0x858,0xc24,0x3c9,0x3a7,0xc2a,0x3a7,0xc2f,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x783,0x3a7,0x3a7,0x3a7,
0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c, 0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,
0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0xc14, 0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0xc37,
0x98f,0x67c,0x67c,0x67c,0x67f,0x67c,0x67c,0xc1c,0xc24,0xbf0,0x67c,0xc2c,0x67c,0xc34,0xc39,0x3a7, 0x98f,0x67c,0x67c,0x67c,0xc3e,0x67c,0x67c,0xc45,0xc4d,0xc13,0x67c,0xc55,0x67c,0xc5d,0xc62,0x3a7,
0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67f,0xc41,0xc4d,0xc52,0xc5a, 0x3a7,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67c,0x67f,0xc6a,0xc73,0xc77,0xc7f,
0xc49,0x67c,0x67c,0x67c,0x67c,0xc62,0x67c,0x792,0xc6a,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0xc6f,0x67c,0x67c,0x67c,0x67c,0xc87,0x67c,0x792,0xc8f,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc71,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc96,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,
0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc71,0xc81,0xc79,0xc79,0xc79,0xc82,0xc82,0xc82, 0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0x3a7,0xc96,0xca6,0xc9e,0xc9e,0xc9e,0xca7,0xca7,0xca7,
0xc82,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0xc8a,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82, 0xca7,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0x3f5,0xcaf,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82, 0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82, 0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82, 0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,
0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0xc82,0x386,0x386,0x386,0x12,0x12,0x12,0x12, 0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0xca7,0x386,0x386,0x386,0x12,0x12,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,8,7,8,9,7,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,8,7,8,9,7,0x12,0x12,0x12,0x12,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,7,7,7,8,9,0xa,0xa,4, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,7,7,7,8,9,0xa,0xa,4,
4,4,0xa,0xa,0x310a,0xf20a,0xa,3,6,3,6,6,2,2,2,2, 4,4,0xa,0xa,0x310a,0xf20a,0xa,3,6,3,6,6,2,2,2,2,
@ -384,7 +384,7 @@ static const uint16_t ubidi_props_trieIndex[12876]={
0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1, 0xb1,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0xb1,0,0xb1,0,0xb1,0x310a,0xf20a,0x310a,0xf20a,0,0, 0,0,0,0,0,0xb1,0,0xb1,0,0xb1,0x310a,0xf20a,0x310a,0xf20a,0,0,
@ -654,6 +654,9 @@ static const uint16_t ubidi_props_trieIndex[12876]={
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1, 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,
1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xb1,0xb1,0xb1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d, 0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
0x4d,0xd,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x4d,0x4d,0x4d, 0x4d,0xd,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x4d,0x4d,0x4d,
0x8d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd, 0x8d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
@ -721,104 +724,110 @@ static const uint16_t ubidi_props_trieIndex[12876]={
0,0,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1, 0,0,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0xb1,0,0xb1, 0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0xb1,0,0xb1,
0,0,0,0,0,0,0,0,0xb1,0,0xb1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,4,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0,0,0,0,0,0,0,0,4,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,4,4,4,0,0,0,0, 0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,4,4,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0xa0,0xa0,0xa0,0xa0, 0,0,0,0,0,0,0,0,0,0,0,0,0xa0,0xa0,0xa0,0xa0,
0xa0,0xa0,0xa0,0xa0,0xa0,0,0,0,0,0,0,0,0,0,0,0, 0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xb1,0,0,0,
0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0xa,0,0xb1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0xb1,
0xb1,0xb1,0,0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0xb2,
0xb2,0xb2,0xb2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0xa,0xa,0xb1,0xb1,0xb1,0xa,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0x100a,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0x100a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0x100a,0,0,0,0,
0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0,0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0, 0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1, 0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0xa,0,0xb1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0,0,0,0,0xb2,0xb2,0xb2,0xb2,0,0,0,0,0,0,0,0,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1, 0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
1,1,1,1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1, 0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,
1,1,1,1,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41, 0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0xa,0xa,0xb1,0xb1,0xb1,0xa,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0x100a,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0x100a,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0x100a,0,0,0,0,0,0,0,0,
0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,
0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,1,1,1,1,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41, 0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xa1,1,1,1,1, 0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xa1,1,1,1,1,1,1,1,1,
0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd, 1,1,1,1,1,1,1,1,1,1,1,1,0xd,0xd,0xd,0xd,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,1,1,1,1,
0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd, 1,1,1,1,1,1,1,1,1,1,1,1,0xd,0xd,0xd,0xd,
0xa,0xa,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd, 0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xa,0xa,0xd,0xd,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0, 0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,2,2,2,2,2,2,2,2,2,2,2,0xa, 0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2,2,2,2,2,2,2,2,2,0xa,0xa,0xa,0xa,0xa,
0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0xa,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0, 0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0,0,0xa,0xa,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0,0,0,0xa,0xa,0xa,0xa, 0,0,0,0,0xa,0,0,0,0,0,0,0,0,0,0,0,
0xa,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0, 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0, 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0,0,0,0,0,0,
0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa, 0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0, 0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,
2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0x12,0x12,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2, 0,0,0,0,0,0,0x12,0x12,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2, 0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
0xb2,0xb2,0xb2,0xb2,0x12,0xb2,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0x12,0xb2,0x12,0x12,0x12,0x12,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x12,0x12,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0,0,0,0 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0,0,0,0
}; };
static const uint32_t ubidi_props_mirrors[40]={ static const uint32_t ubidi_props_mirrors[40]={
@ -926,14 +935,14 @@ static const UBiDiProps ubidi_props_singleton={
ubidi_props_trieIndex+3612, ubidi_props_trieIndex+3612,
NULL, NULL,
3612, 3612,
9264, 9412,
0x1a0, 0x1a0,
0xe9c, 0xe9c,
0x0, 0x0,
0x0, 0x0,
0x110000, 0x110000,
0x3248, 0x32dc,
NULL, 0, FALSE, FALSE, 0, NULL NULL, 0, false, false, 0, NULL
}, },
{ 2,2,0,0 } { 2,2,0,0 }
}; };

View File

@ -101,7 +101,7 @@ setTrailingWSStart(UBiDi *pBiDi) {
are already set to paragraph level. are already set to paragraph level.
Setting trailingWSStart to pBidi->length will avoid changing the Setting trailingWSStart to pBidi->length will avoid changing the
level of B chars from 0 to paraLevel in ubidi_getLevels when level of B chars from 0 to paraLevel in ubidi_getLevels when
orderParagraphsLTR==TRUE. orderParagraphsLTR==true.
*/ */
if(dirProps[start-1]==B) { if(dirProps[start-1]==B) {
pBiDi->trailingWSStart=start; /* currently == pBiDi->length */ pBiDi->trailingWSStart=start; /* currently == pBiDi->length */
@ -535,7 +535,7 @@ static int32_t getRunFromLogicalIndex(UBiDi *pBiDi, int32_t logicalIndex) {
/* /*
* Compute the runs array from the levels array. * Compute the runs array from the levels array.
* After ubidi_getRuns() returns TRUE, runCount is guaranteed to be >0 * After ubidi_getRuns() returns true, runCount is guaranteed to be >0
* and the runs are reordered. * and the runs are reordered.
* Odd-level runs have visualStart on their visual right edge and * Odd-level runs have visualStart on their visual right edge and
* they progress visually to the left. * they progress visually to the left.
@ -551,7 +551,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
* includes the case of length==0 (handled in setPara).. * includes the case of length==0 (handled in setPara)..
*/ */
if (pBiDi->runCount>=0) { if (pBiDi->runCount>=0) {
return TRUE; return true;
} }
if(pBiDi->direction!=UBIDI_MIXED) { if(pBiDi->direction!=UBIDI_MIXED) {
@ -608,7 +608,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
if(getRunsMemory(pBiDi, runCount)) { if(getRunsMemory(pBiDi, runCount)) {
runs=pBiDi->runsMemory; runs=pBiDi->runsMemory;
} else { } else {
return FALSE; return false;
} }
/* set the runs */ /* set the runs */
@ -703,7 +703,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
} }
} }
return TRUE; return true;
} }
static UBool static UBool
@ -714,7 +714,7 @@ prepareReorder(const UBiDiLevel *levels, int32_t length,
UBiDiLevel level, minLevel, maxLevel; UBiDiLevel level, minLevel, maxLevel;
if(levels==NULL || length<=0) { if(levels==NULL || length<=0) {
return FALSE; return false;
} }
/* determine minLevel and maxLevel */ /* determine minLevel and maxLevel */
@ -723,7 +723,7 @@ prepareReorder(const UBiDiLevel *levels, int32_t length,
for(start=length; start>0;) { for(start=length; start>0;) {
level=levels[--start]; level=levels[--start];
if(level>UBIDI_MAX_EXPLICIT_LEVEL+1) { if(level>UBIDI_MAX_EXPLICIT_LEVEL+1) {
return FALSE; return false;
} }
if(level<minLevel) { if(level<minLevel) {
minLevel=level; minLevel=level;
@ -741,7 +741,7 @@ prepareReorder(const UBiDiLevel *levels, int32_t length,
indexMap[start]=start; indexMap[start]=start;
} }
return TRUE; return true;
} }
/* reorder a line based on a levels array (L2) ------------------------------ */ /* reorder a line based on a levels array (L2) ------------------------------ */

View File

@ -130,7 +130,7 @@ action_resolve(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
{ {
ubidi_setPara(pTransform->pBidi, pTransform->src, pTransform->srcLength, ubidi_setPara(pTransform->pBidi, pTransform->src, pTransform->srcLength,
pTransform->pActiveScheme->baseLevel, NULL, pErrorCode); pTransform->pActiveScheme->baseLevel, NULL, pErrorCode);
return FALSE; return false;
} }
/** /**
@ -150,7 +150,7 @@ action_reorder(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
*pTransform->pDestLength = pTransform->srcLength; *pTransform->pDestLength = pTransform->srcLength;
pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT; pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT;
return TRUE; return true;
} }
/** /**
@ -166,9 +166,9 @@ static UBool
action_setInverse(UBiDiTransform *pTransform, UErrorCode *pErrorCode) action_setInverse(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
{ {
(void)pErrorCode; (void)pErrorCode;
ubidi_setInverse(pTransform->pBidi, TRUE); ubidi_setInverse(pTransform->pBidi, true);
ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT); ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT);
return FALSE; return false;
} }
/** /**
@ -186,7 +186,7 @@ action_setRunsOnly(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
{ {
(void)pErrorCode; (void)pErrorCode;
ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_RUNS_ONLY); ubidi_setReorderingMode(pTransform->pBidi, UBIDI_REORDER_RUNS_ONLY);
return FALSE; return false;
} }
/** /**
@ -205,7 +205,7 @@ action_reverse(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
pTransform->dest, pTransform->destSize, pTransform->dest, pTransform->destSize,
UBIDI_REORDER_DEFAULT, pErrorCode); UBIDI_REORDER_DEFAULT, pErrorCode);
*pTransform->pDestLength = pTransform->srcLength; *pTransform->pDestLength = pTransform->srcLength;
return TRUE; return true;
} }
/** /**
@ -274,7 +274,7 @@ static UBool
action_shapeArabic(UBiDiTransform *pTransform, UErrorCode *pErrorCode) action_shapeArabic(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
{ {
if ((pTransform->letters | pTransform->digits) == 0) { if ((pTransform->letters | pTransform->digits) == 0) {
return FALSE; return false;
} }
if (pTransform->pActiveScheme->lettersDir == pTransform->pActiveScheme->digitsDir) { if (pTransform->pActiveScheme->lettersDir == pTransform->pActiveScheme->digitsDir) {
doShape(pTransform, pTransform->letters | pTransform->digits | pTransform->pActiveScheme->lettersDir, doShape(pTransform, pTransform->letters | pTransform->digits | pTransform->pActiveScheme->lettersDir,
@ -288,7 +288,7 @@ action_shapeArabic(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
pErrorCode); pErrorCode);
} }
} }
return TRUE; return true;
} }
/** /**
@ -306,11 +306,11 @@ action_mirror(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
UChar32 c; UChar32 c;
uint32_t i = 0, j = 0; uint32_t i = 0, j = 0;
if (0 == (pTransform->reorderingOptions & UBIDI_DO_MIRRORING)) { if (0 == (pTransform->reorderingOptions & UBIDI_DO_MIRRORING)) {
return FALSE; return false;
} }
if (pTransform->destSize < pTransform->srcLength) { if (pTransform->destSize < pTransform->srcLength) {
*pErrorCode = U_BUFFER_OVERFLOW_ERROR; *pErrorCode = U_BUFFER_OVERFLOW_ERROR;
return FALSE; return false;
} }
do { do {
UBool isOdd = ubidi_getLevelAt(pTransform->pBidi, i) & 1; UBool isOdd = ubidi_getLevelAt(pTransform->pBidi, i) & 1;
@ -320,7 +320,7 @@ action_mirror(UBiDiTransform *pTransform, UErrorCode *pErrorCode)
*pTransform->pDestLength = pTransform->srcLength; *pTransform->pDestLength = pTransform->srcLength;
pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT; pTransform->reorderingOptions = UBIDI_REORDER_DEFAULT;
return TRUE; return true;
} }
/** /**
@ -444,7 +444,7 @@ ubiditransform_transform(UBiDiTransform *pBiDiTransform,
UErrorCode *pErrorCode) UErrorCode *pErrorCode)
{ {
uint32_t destLength = 0; uint32_t destLength = 0;
UBool textChanged = FALSE; UBool textChanged = false;
const UBiDiTransform *pOrigTransform = pBiDiTransform; const UBiDiTransform *pOrigTransform = pBiDiTransform;
const UBiDiAction *action = NULL; const UBiDiAction *action = NULL;
@ -503,10 +503,10 @@ ubiditransform_transform(UBiDiTransform *pBiDiTransform,
updateSrc(pBiDiTransform, pBiDiTransform->dest, *pBiDiTransform->pDestLength, updateSrc(pBiDiTransform, pBiDiTransform->dest, *pBiDiTransform->pDestLength,
*pBiDiTransform->pDestLength, pErrorCode); *pBiDiTransform->pDestLength, pErrorCode);
} }
textChanged = TRUE; textChanged = true;
} }
} }
ubidi_setInverse(pBiDiTransform->pBidi, FALSE); ubidi_setInverse(pBiDiTransform->pBidi, false);
if (!textChanged && U_SUCCESS(*pErrorCode)) { if (!textChanged && U_SUCCESS(*pErrorCode)) {
/* Text was not changed - just copy src to dest */ /* Text was not changed - just copy src to dest */

View File

@ -40,7 +40,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 /*end*/, ui
/* add the start code point to the USet */ /* add the start code point to the USet */
const USetAdder *sa=(const USetAdder *)context; const USetAdder *sa=(const USetAdder *)context;
sa->add(sa->set, start); sa->add(sa->set, start);
return TRUE; return true;
} }
U_CFUNC void U_EXPORT2 U_CFUNC void U_EXPORT2
@ -354,7 +354,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
int32_t i, start, limit, result, unfoldRows, unfoldRowWidth, unfoldStringWidth; int32_t i, start, limit, result, unfoldRows, unfoldRowWidth, unfoldStringWidth;
if(ucase_props_singleton.unfold==NULL || s==NULL) { if(ucase_props_singleton.unfold==NULL || s==NULL) {
return FALSE; /* no reverse case folding data, or no string */ return false; /* no reverse case folding data, or no string */
} }
if(length<=1) { if(length<=1) {
/* the string is too short to find any match */ /* the string is too short to find any match */
@ -364,7 +364,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
* but this does not make much practical difference because * but this does not make much practical difference because
* a single supplementary code point would just not be found * a single supplementary code point would just not be found
*/ */
return FALSE; return false;
} }
const uint16_t *unfold=ucase_props_singleton.unfold; const uint16_t *unfold=ucase_props_singleton.unfold;
@ -375,7 +375,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
if(length>unfoldStringWidth) { if(length>unfoldStringWidth) {
/* the string is too long to find any match */ /* the string is too long to find any match */
return FALSE; return false;
} }
/* do a binary search for the string */ /* do a binary search for the string */
@ -395,7 +395,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
sa->add(sa->set, c); sa->add(sa->set, c);
ucase_addCaseClosure(c, sa); ucase_addCaseClosure(c, sa);
} }
return TRUE; return true;
} else if(result<0) { } else if(result<0) {
limit=i; limit=i;
} else /* result>0 */ { } else /* result>0 */ {
@ -403,7 +403,7 @@ ucase_addStringCaseClosure(const UChar *s, int32_t length, const USetAdder *sa)
} }
} }
return FALSE; /* string not found */ return false; /* string not found */
} }
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
@ -431,7 +431,7 @@ FullCaseFoldingIterator::next(UnicodeString &full) {
// Set "full" to the NUL-terminated string in the first unfold column. // Set "full" to the NUL-terminated string in the first unfold column.
int32_t length=unfoldStringWidth; int32_t length=unfoldStringWidth;
while(length>0 && p[length-1]==0) { --length; } while(length>0 && p[length-1]==0) { --length; }
full.setTo(FALSE, p, length); full.setTo(false, p, length);
// Return the code point. // Return the code point.
UChar32 c; UChar32 c;
U16_NEXT_UNSAFE(p, rowCpIndex, c); U16_NEXT_UNSAFE(p, rowCpIndex, c);
@ -905,7 +905,7 @@ isFollowedByCasedLetter(UCaseContextIterator *iter, void *context, int8_t dir) {
UChar32 c; UChar32 c;
if(iter==NULL) { if(iter==NULL) {
return FALSE; return false;
} }
for(/* dir!=0 sets direction */; (c=iter(context, dir))>=0; dir=0) { for(/* dir!=0 sets direction */; (c=iter(context, dir))>=0; dir=0) {
@ -913,13 +913,13 @@ isFollowedByCasedLetter(UCaseContextIterator *iter, void *context, int8_t dir) {
if(type&4) { if(type&4) {
/* case-ignorable, continue with the loop */ /* case-ignorable, continue with the loop */
} else if(type!=UCASE_NONE) { } else if(type!=UCASE_NONE) {
return TRUE; /* followed by cased letter */ return true; /* followed by cased letter */
} else { } else {
return FALSE; /* uncased and not case-ignorable */ return false; /* uncased and not case-ignorable */
} }
} }
return FALSE; /* not followed by cased letter */ return false; /* not followed by cased letter */
} }
/* Is preceded by Soft_Dotted character with no intervening cc=230 ? */ /* Is preceded by Soft_Dotted character with no intervening cc=230 ? */
@ -930,19 +930,19 @@ isPrecededBySoftDotted(UCaseContextIterator *iter, void *context) {
int8_t dir; int8_t dir;
if(iter==NULL) { if(iter==NULL) {
return FALSE; return false;
} }
for(dir=-1; (c=iter(context, dir))>=0; dir=0) { for(dir=-1; (c=iter(context, dir))>=0; dir=0) {
dotType=getDotType(c); dotType=getDotType(c);
if(dotType==UCASE_SOFT_DOTTED) { if(dotType==UCASE_SOFT_DOTTED) {
return TRUE; /* preceded by TYPE_i */ return true; /* preceded by TYPE_i */
} else if(dotType!=UCASE_OTHER_ACCENT) { } else if(dotType!=UCASE_OTHER_ACCENT) {
return FALSE; /* preceded by different base character (not TYPE_i), or intervening cc==230 */ return false; /* preceded by different base character (not TYPE_i), or intervening cc==230 */
} }
} }
return FALSE; /* not preceded by TYPE_i */ return false; /* not preceded by TYPE_i */
} }
/* /*
@ -987,20 +987,20 @@ isPrecededBy_I(UCaseContextIterator *iter, void *context) {
int8_t dir; int8_t dir;
if(iter==NULL) { if(iter==NULL) {
return FALSE; return false;
} }
for(dir=-1; (c=iter(context, dir))>=0; dir=0) { for(dir=-1; (c=iter(context, dir))>=0; dir=0) {
if(c==0x49) { if(c==0x49) {
return TRUE; /* preceded by I */ return true; /* preceded by I */
} }
dotType=getDotType(c); dotType=getDotType(c);
if(dotType!=UCASE_OTHER_ACCENT) { if(dotType!=UCASE_OTHER_ACCENT) {
return FALSE; /* preceded by different base character (not I), or intervening cc==230 */ return false; /* preceded by different base character (not I), or intervening cc==230 */
} }
} }
return FALSE; /* not preceded by I */ return false; /* not preceded by I */
} }
/* Is followed by one or more cc==230 ? */ /* Is followed by one or more cc==230 ? */
@ -1011,19 +1011,19 @@ isFollowedByMoreAbove(UCaseContextIterator *iter, void *context) {
int8_t dir; int8_t dir;
if(iter==NULL) { if(iter==NULL) {
return FALSE; return false;
} }
for(dir=1; (c=iter(context, dir))>=0; dir=0) { for(dir=1; (c=iter(context, dir))>=0; dir=0) {
dotType=getDotType(c); dotType=getDotType(c);
if(dotType==UCASE_ABOVE) { if(dotType==UCASE_ABOVE) {
return TRUE; /* at least one cc==230 following */ return true; /* at least one cc==230 following */
} else if(dotType!=UCASE_OTHER_ACCENT) { } else if(dotType!=UCASE_OTHER_ACCENT) {
return FALSE; /* next base character, no more cc==230 following */ return false; /* next base character, no more cc==230 following */
} }
} }
return FALSE; /* no more cc==230 following */ return false; /* no more cc==230 following */
} }
/* Is followed by a dot above (without cc==230 in between) ? */ /* Is followed by a dot above (without cc==230 in between) ? */
@ -1034,20 +1034,20 @@ isFollowedByDotAbove(UCaseContextIterator *iter, void *context) {
int8_t dir; int8_t dir;
if(iter==NULL) { if(iter==NULL) {
return FALSE; return false;
} }
for(dir=1; (c=iter(context, dir))>=0; dir=0) { for(dir=1; (c=iter(context, dir))>=0; dir=0) {
if(c==0x307) { if(c==0x307) {
return TRUE; return true;
} }
dotType=getDotType(c); dotType=getDotType(c);
if(dotType!=UCASE_OTHER_ACCENT) { if(dotType!=UCASE_OTHER_ACCENT) {
return FALSE; /* next base character or cc==230 in between */ return false; /* next base character or cc==230 in between */
} }
} }
return FALSE; /* no dot above following */ return false; /* no dot above following */
} }
U_CAPI int32_t U_EXPORT2 U_CAPI int32_t U_EXPORT2
@ -1317,7 +1317,7 @@ ucase_toFullUpper(UChar32 c,
UCaseContextIterator *iter, void *context, UCaseContextIterator *iter, void *context,
const UChar **pString, const UChar **pString,
int32_t caseLocale) { int32_t caseLocale) {
return toUpperOrTitle(c, iter, context, pString, caseLocale, TRUE); return toUpperOrTitle(c, iter, context, pString, caseLocale, true);
} }
U_CAPI int32_t U_EXPORT2 U_CAPI int32_t U_EXPORT2
@ -1325,7 +1325,7 @@ ucase_toFullTitle(UChar32 c,
UCaseContextIterator *iter, void *context, UCaseContextIterator *iter, void *context,
const UChar **pString, const UChar **pString,
int32_t caseLocale) { int32_t caseLocale) {
return toUpperOrTitle(c, iter, context, pString, caseLocale, FALSE); return toUpperOrTitle(c, iter, context, pString, caseLocale, false);
} }
/* case folding ------------------------------------------------------------- */ /* case folding ------------------------------------------------------------- */
@ -1601,6 +1601,6 @@ ucase_hasBinaryProperty(UChar32 c, UProperty which) {
ucase_toFullUpper(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0 || ucase_toFullUpper(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0 ||
ucase_toFullTitle(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0); ucase_toFullTitle(c, NULL, NULL, &resultString, UCASE_LOC_ROOT)>=0);
default: default:
return FALSE; return false;
} }
} }

View File

@ -139,8 +139,8 @@ public:
*/ */
UChar32 next(UnicodeString &full); UChar32 next(UnicodeString &full);
private: private:
FullCaseFoldingIterator(const FullCaseFoldingIterator &); // no copy FullCaseFoldingIterator(const FullCaseFoldingIterator &) = delete; // no copy
FullCaseFoldingIterator &operator=(const FullCaseFoldingIterator &); // no assignment FullCaseFoldingIterator &operator=(const FullCaseFoldingIterator &) = delete; // no assignment
const UChar *unfold; const UChar *unfold;
int32_t unfoldRows; int32_t unfoldRows;

File diff suppressed because it is too large Load Diff

View File

@ -157,7 +157,7 @@ appendResult(int32_t cpLength, int32_t result, const UChar *s,
ByteSinkUtil::appendCodePoint(cpLength, result, sink, edits); ByteSinkUtil::appendCodePoint(cpLength, result, sink, edits);
} }
} }
return TRUE; return true;
} }
// See unicode/utf8.h U8_APPEND_UNSAFE(). // See unicode/utf8.h U8_APPEND_UNSAFE().
@ -525,14 +525,14 @@ ucasemap_internalUTF8ToTitle(
csc.p=(void *)src; csc.p=(void *)src;
csc.limit=srcLength; csc.limit=srcLength;
int32_t prev=0; int32_t prev=0;
UBool isFirstIndex=TRUE; UBool isFirstIndex=true;
/* titlecasing loop */ /* titlecasing loop */
while(prev<srcLength) { while(prev<srcLength) {
/* find next index where to titlecase */ /* find next index where to titlecase */
int32_t index; int32_t index;
if(isFirstIndex) { if(isFirstIndex) {
isFirstIndex=FALSE; isFirstIndex=false;
index=iter->first(); index=iter->first();
} else { } else {
index=iter->next(); index=iter->next();
@ -643,12 +643,12 @@ UBool isFollowedByCasedLetter(const uint8_t *s, int32_t i, int32_t length) {
if ((type & UCASE_IGNORABLE) != 0) { if ((type & UCASE_IGNORABLE) != 0) {
// Case-ignorable, continue with the loop. // Case-ignorable, continue with the loop.
} else if (type != UCASE_NONE) { } else if (type != UCASE_NONE) {
return TRUE; // Followed by cased letter. return true; // Followed by cased letter.
} else { } else {
return FALSE; // Uncased and not case-ignorable. return false; // Uncased and not case-ignorable.
} }
} }
return FALSE; // Not followed by cased letter. return false; // Not followed by cased letter.
} }
// Keep this consistent with the UTF-16 version in ustrcase.cpp and the Java version in CaseMap.java. // Keep this consistent with the UTF-16 version in ustrcase.cpp and the Java version in CaseMap.java.
@ -707,7 +707,7 @@ void toUpper(uint32_t options,
nextState |= AFTER_VOWEL_WITH_ACCENT; nextState |= AFTER_VOWEL_WITH_ACCENT;
} }
// Map according to Greek rules. // Map according to Greek rules.
UBool addTonos = FALSE; UBool addTonos = false;
if (upper == 0x397 && if (upper == 0x397 &&
(data & HAS_ACCENT) != 0 && (data & HAS_ACCENT) != 0 &&
numYpogegrammeni == 0 && numYpogegrammeni == 0 &&
@ -718,7 +718,7 @@ void toUpper(uint32_t options,
if (i == nextIndex) { if (i == nextIndex) {
upper = 0x389; // Preserve the precomposed form. upper = 0x389; // Preserve the precomposed form.
} else { } else {
addTonos = TRUE; addTonos = true;
} }
} else if ((data & HAS_DIALYTIKA) != 0) { } else if ((data & HAS_DIALYTIKA) != 0) {
// Preserve a vowel with dialytika in precomposed form if it exists. // Preserve a vowel with dialytika in precomposed form if it exists.
@ -733,7 +733,7 @@ void toUpper(uint32_t options,
UBool change; UBool change;
if (edits == nullptr && (options & U_OMIT_UNCHANGED_TEXT) == 0) { if (edits == nullptr && (options & U_OMIT_UNCHANGED_TEXT) == 0) {
change = TRUE; // common, simple usage change = true; // common, simple usage
} else { } else {
// Find out first whether we are changing the text. // Find out first whether we are changing the text.
U_ASSERT(0x370 <= upper && upper <= 0x3ff); // 2-byte UTF-8, main Greek block U_ASSERT(0x370 <= upper && upper <= 0x3ff); // 2-byte UTF-8, main Greek block

View File

@ -126,7 +126,7 @@ u_isxdigit(UChar32 c) {
(c<=0x66 && c>=0x41 && (c<=0x46 || c>=0x61)) || (c<=0x66 && c>=0x41 && (c<=0x46 || c>=0x61)) ||
(c>=0xff21 && c<=0xff46 && (c<=0xff26 || c>=0xff41)) (c>=0xff21 && c<=0xff46 && (c<=0xff26 || c>=0xff41))
) { ) {
return TRUE; return true;
} }
GET_PROPS(c, props); GET_PROPS(c, props);
@ -249,7 +249,7 @@ U_CAPI UBool U_EXPORT2
u_isprint(UChar32 c) { u_isprint(UChar32 c) {
uint32_t props; uint32_t props;
GET_PROPS(c, props); GET_PROPS(c, props);
/* comparing ==0 returns FALSE for the categories mentioned */ /* comparing ==0 returns false for the categories mentioned */
return (UBool)((CAT_MASK(props)&U_GC_C_MASK)==0); return (UBool)((CAT_MASK(props)&U_GC_C_MASK)==0);
} }
@ -273,7 +273,7 @@ U_CAPI UBool U_EXPORT2
u_isgraph(UChar32 c) { u_isgraph(UChar32 c) {
uint32_t props; uint32_t props;
GET_PROPS(c, props); GET_PROPS(c, props);
/* comparing ==0 returns FALSE for the categories mentioned */ /* comparing ==0 returns false for the categories mentioned */
return (UBool)((CAT_MASK(props)& return (UBool)((CAT_MASK(props)&
(U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK)) (U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK))
==0); ==0);
@ -291,7 +291,7 @@ u_isgraphPOSIX(UChar32 c) {
uint32_t props; uint32_t props;
GET_PROPS(c, props); GET_PROPS(c, props);
/* \p{space}\p{gc=Control} == \p{gc=Z}\p{Control} */ /* \p{space}\p{gc=Control} == \p{gc=Z}\p{Control} */
/* comparing ==0 returns FALSE for the categories mentioned */ /* comparing ==0 returns false for the categories mentioned */
return (UBool)((CAT_MASK(props)& return (UBool)((CAT_MASK(props)&
(U_GC_CC_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK)) (U_GC_CC_MASK|U_GC_CS_MASK|U_GC_CN_MASK|U_GC_Z_MASK))
==0); ==0);
@ -591,7 +591,7 @@ uscript_hasScript(UChar32 c, UScriptCode sc) {
uint32_t sc32=sc; uint32_t sc32=sc;
if(sc32>0x7fff) { if(sc32>0x7fff) {
/* Guard against bogus input that would make us go past the Script_Extensions terminator. */ /* Guard against bogus input that would make us go past the Script_Extensions terminator. */
return FALSE; return false;
} }
while(sc32>*scx) { while(sc32>*scx) {
++scx; ++scx;
@ -654,7 +654,7 @@ _enumPropertyStartsRange(const void *context, UChar32 start, UChar32 end, uint32
sa->add(sa->set, start); sa->add(sa->set, start);
(void)end; (void)end;
(void)value; (void)value;
return TRUE; return true;
} }
#define USET_ADD_CP_AND_NEXT(sa, cp) sa->add(sa->set, cp); sa->add(sa->set, cp+1) #define USET_ADD_CP_AND_NEXT(sa, cp) sa->add(sa->set, cp); sa->add(sa->set, cp+1)

File diff suppressed because it is too large Load Diff

View File

@ -308,13 +308,13 @@ UCharsTrie::findUniqueValueFromBranch(const UChar *pos, int32_t length,
} }
} else { } else {
uniqueValue=value; uniqueValue=value;
haveUniqueValue=TRUE; haveUniqueValue=true;
} }
} else { } else {
if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) { if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
return NULL; return NULL;
} }
haveUniqueValue=TRUE; haveUniqueValue=true;
} }
} while(--length>1); } while(--length>1);
return pos+1; // ignore the last comparison unit return pos+1; // ignore the last comparison unit
@ -330,9 +330,9 @@ UCharsTrie::findUniqueValue(const UChar *pos, UBool haveUniqueValue, int32_t &un
} }
pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue); pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
if(pos==NULL) { if(pos==NULL) {
return FALSE; return false;
} }
haveUniqueValue=TRUE; haveUniqueValue=true;
node=*pos++; node=*pos++;
} else if(node<kMinValueLead) { } else if(node<kMinValueLead) {
// linear-match node // linear-match node
@ -348,14 +348,14 @@ UCharsTrie::findUniqueValue(const UChar *pos, UBool haveUniqueValue, int32_t &un
} }
if(haveUniqueValue) { if(haveUniqueValue) {
if(value!=uniqueValue) { if(value!=uniqueValue) {
return FALSE; return false;
} }
} else { } else {
uniqueValue=value; uniqueValue=value;
haveUniqueValue=TRUE; haveUniqueValue=true;
} }
if(isFinal) { if(isFinal) {
return TRUE; return true;
} }
pos=skipNodeValue(pos, node); pos=skipNodeValue(pos, node);
node&=kNodeTypeMask; node&=kNodeTypeMask;

View File

@ -163,7 +163,7 @@ UCharsTrieBuilder::buildUnicodeString(UStringTrieBuildOption buildOption, Unicod
UErrorCode &errorCode) { UErrorCode &errorCode) {
buildUChars(buildOption, errorCode); buildUChars(buildOption, errorCode);
if(U_SUCCESS(errorCode)) { if(U_SUCCESS(errorCode)) {
result.setTo(FALSE, uchars+(ucharsCapacity-ucharsLength), ucharsLength); result.setTo(false, uchars+(ucharsCapacity-ucharsLength), ucharsLength);
} }
return result; return result;
} }
@ -188,7 +188,7 @@ UCharsTrieBuilder::buildUChars(UStringTrieBuildOption buildOption, UErrorCode &e
} }
uprv_sortArray(elements, elementsLength, (int32_t)sizeof(UCharsTrieElement), uprv_sortArray(elements, elementsLength, (int32_t)sizeof(UCharsTrieElement),
compareElementStrings, &strings, compareElementStrings, &strings,
FALSE, // need not be a stable sort false, // need not be a stable sort
&errorCode); &errorCode);
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return; return;
@ -322,7 +322,7 @@ UCharsTrieBuilder::createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t l
UBool UBool
UCharsTrieBuilder::ensureCapacity(int32_t length) { UCharsTrieBuilder::ensureCapacity(int32_t length) {
if(uchars==NULL) { if(uchars==NULL) {
return FALSE; // previous memory allocation had failed return false; // previous memory allocation had failed
} }
if(length>ucharsCapacity) { if(length>ucharsCapacity) {
int32_t newCapacity=ucharsCapacity; int32_t newCapacity=ucharsCapacity;
@ -335,7 +335,7 @@ UCharsTrieBuilder::ensureCapacity(int32_t length) {
uprv_free(uchars); uprv_free(uchars);
uchars=NULL; uchars=NULL;
ucharsCapacity=0; ucharsCapacity=0;
return FALSE; return false;
} }
u_memcpy(newUChars+(newCapacity-ucharsLength), u_memcpy(newUChars+(newCapacity-ucharsLength),
uchars+(ucharsCapacity-ucharsLength), ucharsLength); uchars+(ucharsCapacity-ucharsLength), ucharsLength);
@ -343,7 +343,7 @@ UCharsTrieBuilder::ensureCapacity(int32_t length) {
uchars=newUChars; uchars=newUChars;
ucharsCapacity=newCapacity; ucharsCapacity=newCapacity;
} }
return TRUE; return true;
} }
int32_t int32_t

View File

@ -26,7 +26,7 @@ UCharsTrie::Iterator::Iterator(ConstChar16Ptr trieUChars, int32_t maxStringLengt
: uchars_(trieUChars), : uchars_(trieUChars),
pos_(uchars_), initialPos_(uchars_), pos_(uchars_), initialPos_(uchars_),
remainingMatchLength_(-1), initialRemainingMatchLength_(-1), remainingMatchLength_(-1), initialRemainingMatchLength_(-1),
skipValue_(FALSE), skipValue_(false),
maxLength_(maxStringLength), value_(0), stack_(NULL) { maxLength_(maxStringLength), value_(0), stack_(NULL) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return; return;
@ -48,7 +48,7 @@ UCharsTrie::Iterator::Iterator(const UCharsTrie &trie, int32_t maxStringLength,
: uchars_(trie.uchars_), pos_(trie.pos_), initialPos_(trie.pos_), : uchars_(trie.uchars_), pos_(trie.pos_), initialPos_(trie.pos_),
remainingMatchLength_(trie.remainingMatchLength_), remainingMatchLength_(trie.remainingMatchLength_),
initialRemainingMatchLength_(trie.remainingMatchLength_), initialRemainingMatchLength_(trie.remainingMatchLength_),
skipValue_(FALSE), skipValue_(false),
maxLength_(maxStringLength), value_(0), stack_(NULL) { maxLength_(maxStringLength), value_(0), stack_(NULL) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return; return;
@ -82,7 +82,7 @@ UCharsTrie::Iterator &
UCharsTrie::Iterator::reset() { UCharsTrie::Iterator::reset() {
pos_=initialPos_; pos_=initialPos_;
remainingMatchLength_=initialRemainingMatchLength_; remainingMatchLength_=initialRemainingMatchLength_;
skipValue_=FALSE; skipValue_=false;
int32_t length=remainingMatchLength_+1; // Remaining match length. int32_t length=remainingMatchLength_+1; // Remaining match length.
if(maxLength_>0 && length>maxLength_) { if(maxLength_>0 && length>maxLength_) {
length=maxLength_; length=maxLength_;
@ -100,12 +100,12 @@ UCharsTrie::Iterator::hasNext() const { return pos_!=NULL || !stack_->isEmpty();
UBool UBool
UCharsTrie::Iterator::next(UErrorCode &errorCode) { UCharsTrie::Iterator::next(UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) { if(U_FAILURE(errorCode)) {
return FALSE; return false;
} }
const UChar *pos=pos_; const UChar *pos=pos_;
if(pos==NULL) { if(pos==NULL) {
if(stack_->isEmpty()) { if(stack_->isEmpty()) {
return FALSE; return false;
} }
// Pop the state off the stack and continue with the next outbound edge of // Pop the state off the stack and continue with the next outbound edge of
// the branch node. // the branch node.
@ -118,7 +118,7 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
if(length>1) { if(length>1) {
pos=branchNext(pos, length, errorCode); pos=branchNext(pos, length, errorCode);
if(pos==NULL) { if(pos==NULL) {
return TRUE; // Reached a final value. return true; // Reached a final value.
} }
} else { } else {
str_.append(*pos++); str_.append(*pos++);
@ -135,7 +135,7 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
if(skipValue_) { if(skipValue_) {
pos=skipNodeValue(pos, node); pos=skipNodeValue(pos, node);
node&=kNodeTypeMask; node&=kNodeTypeMask;
skipValue_=FALSE; skipValue_=false;
} else { } else {
// Deliver value for the string so far. // Deliver value for the string so far.
UBool isFinal=(UBool)(node>>15); UBool isFinal=(UBool)(node>>15);
@ -152,9 +152,9 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
// next time. // next time.
// Instead, keep pos_ on the node lead unit itself. // Instead, keep pos_ on the node lead unit itself.
pos_=pos-1; pos_=pos-1;
skipValue_=TRUE; skipValue_=true;
} }
return TRUE; return true;
} }
} }
if(maxLength_>0 && str_.length()==maxLength_) { if(maxLength_>0 && str_.length()==maxLength_) {
@ -166,7 +166,7 @@ UCharsTrie::Iterator::next(UErrorCode &errorCode) {
} }
pos=branchNext(pos, node+1, errorCode); pos=branchNext(pos, node+1, errorCode);
if(pos==NULL) { if(pos==NULL) {
return TRUE; // Reached a final value. return true; // Reached a final value.
} }
} else { } else {
// Linear-match node, append length units to str_. // Linear-match node, append length units to str_.

View File

@ -171,7 +171,7 @@ UCharCharacterIterator::nextPostInc() {
UBool UBool
UCharCharacterIterator::hasNext() { UCharCharacterIterator::hasNext() {
return (UBool)(pos < end ? TRUE : FALSE); return (UBool)(pos < end ? true : false);
} }
UChar UChar
@ -185,7 +185,7 @@ UCharCharacterIterator::previous() {
UBool UBool
UCharCharacterIterator::hasPrevious() { UCharCharacterIterator::hasPrevious() {
return (UBool)(pos > begin ? TRUE : FALSE); return (UBool)(pos > begin ? true : false);
} }
UChar32 UChar32

View File

@ -120,5 +120,5 @@ U_CFUNC UBool ucln_lib_cleanup(void) {
#if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL)) #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL))
ucln_unRegisterAutomaticCleanup(); ucln_unRegisterAutomaticCleanup();
#endif #endif
return TRUE; return true;
} }

View File

@ -163,7 +163,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
UErrorCode cbErr; UErrorCode cbErr;
UConverterToUnicodeArgs toUArgs = { UConverterToUnicodeArgs toUArgs = {
sizeof(UConverterToUnicodeArgs), sizeof(UConverterToUnicodeArgs),
TRUE, true,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -173,7 +173,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
}; };
UConverterFromUnicodeArgs fromUArgs = { UConverterFromUnicodeArgs fromUArgs = {
sizeof(UConverterFromUnicodeArgs), sizeof(UConverterFromUnicodeArgs),
TRUE, true,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -269,7 +269,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
/* Copy initial state */ /* Copy initial state */
uprv_memcpy(localConverter, cnv, sizeof(UConverter)); uprv_memcpy(localConverter, cnv, sizeof(UConverter));
localConverter->isCopyLocal = localConverter->isExtraLocal = FALSE; localConverter->isCopyLocal = localConverter->isExtraLocal = false;
/* copy the substitution string */ /* copy the substitution string */
if (cnv->subChars == (uint8_t *)cnv->subUChars) { if (cnv->subChars == (uint8_t *)cnv->subUChars) {
@ -306,7 +306,7 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
if(localConverter == (UConverter*)stackBuffer) { if(localConverter == (UConverter*)stackBuffer) {
/* we're using user provided data - set to not destroy */ /* we're using user provided data - set to not destroy */
localConverter->isCopyLocal = TRUE; localConverter->isCopyLocal = true;
} }
/* allow callback functions to handle any memory allocation */ /* allow callback functions to handle any memory allocation */
@ -352,7 +352,7 @@ ucnv_close (UConverter * converter)
if (converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) { if (converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) {
UConverterToUnicodeArgs toUArgs = { UConverterToUnicodeArgs toUArgs = {
sizeof(UConverterToUnicodeArgs), sizeof(UConverterToUnicodeArgs),
TRUE, true,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -368,7 +368,7 @@ ucnv_close (UConverter * converter)
if (converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) { if (converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) {
UConverterFromUnicodeArgs fromUArgs = { UConverterFromUnicodeArgs fromUArgs = {
sizeof(UConverterFromUnicodeArgs), sizeof(UConverterFromUnicodeArgs),
TRUE, true,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -580,7 +580,7 @@ static void _reset(UConverter *converter, UConverterResetChoice choice,
if(choice<=UCNV_RESET_TO_UNICODE && converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) { if(choice<=UCNV_RESET_TO_UNICODE && converter->fromCharErrorBehaviour != UCNV_TO_U_DEFAULT_CALLBACK) {
UConverterToUnicodeArgs toUArgs = { UConverterToUnicodeArgs toUArgs = {
sizeof(UConverterToUnicodeArgs), sizeof(UConverterToUnicodeArgs),
TRUE, true,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -595,7 +595,7 @@ static void _reset(UConverter *converter, UConverterResetChoice choice,
if(choice!=UCNV_RESET_TO_UNICODE && converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) { if(choice!=UCNV_RESET_TO_UNICODE && converter->fromUCharErrorBehaviour != UCNV_FROM_U_DEFAULT_CALLBACK) {
UConverterFromUnicodeArgs fromUArgs = { UConverterFromUnicodeArgs fromUArgs = {
sizeof(UConverterFromUnicodeArgs), sizeof(UConverterFromUnicodeArgs),
TRUE, true,
NULL, NULL,
NULL, NULL,
NULL, NULL,
@ -634,19 +634,19 @@ static void _reset(UConverter *converter, UConverterResetChoice choice,
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
ucnv_reset(UConverter *converter) ucnv_reset(UConverter *converter)
{ {
_reset(converter, UCNV_RESET_BOTH, TRUE); _reset(converter, UCNV_RESET_BOTH, true);
} }
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
ucnv_resetToUnicode(UConverter *converter) ucnv_resetToUnicode(UConverter *converter)
{ {
_reset(converter, UCNV_RESET_TO_UNICODE, TRUE); _reset(converter, UCNV_RESET_TO_UNICODE, true);
} }
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
ucnv_resetFromUnicode(UConverter *converter) ucnv_resetFromUnicode(UConverter *converter)
{ {
_reset(converter, UCNV_RESET_FROM_UNICODE, TRUE); _reset(converter, UCNV_RESET_FROM_UNICODE, true);
} }
U_CAPI int8_t U_EXPORT2 U_CAPI int8_t U_EXPORT2
@ -871,7 +871,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
/* avoid compiler warnings - not otherwise necessary, and the values do not matter */ /* avoid compiler warnings - not otherwise necessary, and the values do not matter */
realSourceLimit=NULL; realSourceLimit=NULL;
realFlush=FALSE; realFlush=false;
realSourceIndex=0; realSourceIndex=0;
} else { } else {
/* /*
@ -887,7 +887,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR); uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR);
pArgs->source=replay; pArgs->source=replay;
pArgs->sourceLimit=replay-cnv->preFromULength; pArgs->sourceLimit=replay-cnv->preFromULength;
pArgs->flush=FALSE; pArgs->flush=false;
sourceIndex=-1; sourceIndex=-1;
cnv->preFromULength=0; cnv->preFromULength=0;
@ -923,11 +923,11 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
cnv->fromUChar32==0); cnv->fromUChar32==0);
} else { } else {
/* handle error from ucnv_convertEx() */ /* handle error from ucnv_convertEx() */
converterSawEndOfInput=FALSE; converterSawEndOfInput=false;
} }
/* no callback called yet for this iteration */ /* no callback called yet for this iteration */
calledCallback=FALSE; calledCallback=false;
/* no sourceIndex adjustment for conversion, only for callback output */ /* no sourceIndex adjustment for conversion, only for callback output */
errorInputLength=0; errorInputLength=0;
@ -976,7 +976,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR); uprv_memcpy(replay, cnv->preFromU, -cnv->preFromULength*U_SIZEOF_UCHAR);
pArgs->source=replay; pArgs->source=replay;
pArgs->sourceLimit=replay-cnv->preFromULength; pArgs->sourceLimit=replay-cnv->preFromULength;
pArgs->flush=FALSE; pArgs->flush=false;
if((sourceIndex+=cnv->preFromULength)<0) { if((sourceIndex+=cnv->preFromULength)<0) {
sourceIndex=-1; sourceIndex=-1;
} }
@ -1017,7 +1017,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
/* inject an error and continue with callback handling */ /* inject an error and continue with callback handling */
*err=U_TRUNCATED_CHAR_FOUND; *err=U_TRUNCATED_CHAR_FOUND;
calledCallback=FALSE; /* new error condition */ calledCallback=false; /* new error condition */
} else { } else {
/* input consumed */ /* input consumed */
if(pArgs->flush) { if(pArgs->flush) {
@ -1033,7 +1033,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
} }
/* reset the converter without calling the callback function */ /* reset the converter without calling the callback function */
_reset(cnv, UCNV_RESET_FROM_UNICODE, FALSE); _reset(cnv, UCNV_RESET_FROM_UNICODE, false);
} }
/* done successfully */ /* done successfully */
@ -1110,7 +1110,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
* that a callback was called; * that a callback was called;
* if the callback did not resolve the error, then we return * if the callback did not resolve the error, then we return
*/ */
calledCallback=TRUE; calledCallback=true;
} }
} }
} }
@ -1118,7 +1118,7 @@ _fromUnicodeWithCallback(UConverterFromUnicodeArgs *pArgs, UErrorCode *err) {
/* /*
* Output the fromUnicode overflow buffer. * Output the fromUnicode overflow buffer.
* Call this function if(cnv->charErrorBufferLength>0). * Call this function if(cnv->charErrorBufferLength>0).
* @return TRUE if overflow * @return true if overflow
*/ */
static UBool static UBool
ucnv_outputOverflowFromUnicode(UConverter *cnv, ucnv_outputOverflowFromUnicode(UConverter *cnv,
@ -1154,7 +1154,7 @@ ucnv_outputOverflowFromUnicode(UConverter *cnv,
*pOffsets=offsets; *pOffsets=offsets;
} }
*err=U_BUFFER_OVERFLOW_ERROR; *err=U_BUFFER_OVERFLOW_ERROR;
return TRUE; return true;
} }
/* copy the overflow contents to the target */ /* copy the overflow contents to the target */
@ -1170,7 +1170,7 @@ ucnv_outputOverflowFromUnicode(UConverter *cnv,
if(offsets!=NULL) { if(offsets!=NULL) {
*pOffsets=offsets; *pOffsets=offsets;
} }
return FALSE; return false;
} }
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
@ -1316,7 +1316,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
/* avoid compiler warnings - not otherwise necessary, and the values do not matter */ /* avoid compiler warnings - not otherwise necessary, and the values do not matter */
realSourceLimit=NULL; realSourceLimit=NULL;
realFlush=FALSE; realFlush=false;
realSourceIndex=0; realSourceIndex=0;
} else { } else {
/* /*
@ -1332,7 +1332,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
uprv_memcpy(replay, cnv->preToU, -cnv->preToULength); uprv_memcpy(replay, cnv->preToU, -cnv->preToULength);
pArgs->source=replay; pArgs->source=replay;
pArgs->sourceLimit=replay-cnv->preToULength; pArgs->sourceLimit=replay-cnv->preToULength;
pArgs->flush=FALSE; pArgs->flush=false;
sourceIndex=-1; sourceIndex=-1;
cnv->preToULength=0; cnv->preToULength=0;
@ -1368,11 +1368,11 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
cnv->toULength==0); cnv->toULength==0);
} else { } else {
/* handle error from getNextUChar() or ucnv_convertEx() */ /* handle error from getNextUChar() or ucnv_convertEx() */
converterSawEndOfInput=FALSE; converterSawEndOfInput=false;
} }
/* no callback called yet for this iteration */ /* no callback called yet for this iteration */
calledCallback=FALSE; calledCallback=false;
/* no sourceIndex adjustment for conversion, only for callback output */ /* no sourceIndex adjustment for conversion, only for callback output */
errorInputLength=0; errorInputLength=0;
@ -1421,7 +1421,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
uprv_memcpy(replay, cnv->preToU, -cnv->preToULength); uprv_memcpy(replay, cnv->preToU, -cnv->preToULength);
pArgs->source=replay; pArgs->source=replay;
pArgs->sourceLimit=replay-cnv->preToULength; pArgs->sourceLimit=replay-cnv->preToULength;
pArgs->flush=FALSE; pArgs->flush=false;
if((sourceIndex+=cnv->preToULength)<0) { if((sourceIndex+=cnv->preToULength)<0) {
sourceIndex=-1; sourceIndex=-1;
} }
@ -1462,7 +1462,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
/* inject an error and continue with callback handling */ /* inject an error and continue with callback handling */
*err=U_TRUNCATED_CHAR_FOUND; *err=U_TRUNCATED_CHAR_FOUND;
calledCallback=FALSE; /* new error condition */ calledCallback=false; /* new error condition */
} else { } else {
/* input consumed */ /* input consumed */
if(pArgs->flush) { if(pArgs->flush) {
@ -1478,7 +1478,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
} }
/* reset the converter without calling the callback function */ /* reset the converter without calling the callback function */
_reset(cnv, UCNV_RESET_TO_UNICODE, FALSE); _reset(cnv, UCNV_RESET_TO_UNICODE, false);
} }
/* done successfully */ /* done successfully */
@ -1556,7 +1556,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
* that a callback was called; * that a callback was called;
* if the callback did not resolve the error, then we return * if the callback did not resolve the error, then we return
*/ */
calledCallback=TRUE; calledCallback=true;
} }
} }
} }
@ -1564,7 +1564,7 @@ _toUnicodeWithCallback(UConverterToUnicodeArgs *pArgs, UErrorCode *err) {
/* /*
* Output the toUnicode overflow buffer. * Output the toUnicode overflow buffer.
* Call this function if(cnv->UCharErrorBufferLength>0). * Call this function if(cnv->UCharErrorBufferLength>0).
* @return TRUE if overflow * @return true if overflow
*/ */
static UBool static UBool
ucnv_outputOverflowToUnicode(UConverter *cnv, ucnv_outputOverflowToUnicode(UConverter *cnv,
@ -1600,7 +1600,7 @@ ucnv_outputOverflowToUnicode(UConverter *cnv,
*pOffsets=offsets; *pOffsets=offsets;
} }
*err=U_BUFFER_OVERFLOW_ERROR; *err=U_BUFFER_OVERFLOW_ERROR;
return TRUE; return true;
} }
/* copy the overflow contents to the target */ /* copy the overflow contents to the target */
@ -1616,7 +1616,7 @@ ucnv_outputOverflowToUnicode(UConverter *cnv,
if(offsets!=NULL) { if(offsets!=NULL) {
*pOffsets=offsets; *pOffsets=offsets;
} }
return FALSE; return false;
} }
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
@ -1754,7 +1754,7 @@ ucnv_fromUChars(UConverter *cnv,
destLimit=dest+destCapacity; destLimit=dest+destCapacity;
/* perform the conversion */ /* perform the conversion */
ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode); ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
destLength=(int32_t)(dest-originalDest); destLength=(int32_t)(dest-originalDest);
/* if an overflow occurs, then get the preflighting length */ /* if an overflow occurs, then get the preflighting length */
@ -1765,7 +1765,7 @@ ucnv_fromUChars(UConverter *cnv,
do { do {
dest=buffer; dest=buffer;
*pErrorCode=U_ZERO_ERROR; *pErrorCode=U_ZERO_ERROR;
ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode); ucnv_fromUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
destLength+=(int32_t)(dest-buffer); destLength+=(int32_t)(dest-buffer);
} while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR); } while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
} }
@ -1810,7 +1810,7 @@ ucnv_toUChars(UConverter *cnv,
destLimit=dest+destCapacity; destLimit=dest+destCapacity;
/* perform the conversion */ /* perform the conversion */
ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode); ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
destLength=(int32_t)(dest-originalDest); destLength=(int32_t)(dest-originalDest);
/* if an overflow occurs, then get the preflighting length */ /* if an overflow occurs, then get the preflighting length */
@ -1822,7 +1822,7 @@ ucnv_toUChars(UConverter *cnv,
do { do {
dest=buffer; dest=buffer;
*pErrorCode=U_ZERO_ERROR; *pErrorCode=U_ZERO_ERROR;
ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, TRUE, pErrorCode); ucnv_toUnicode(cnv, &dest, destLimit, &src, srcLimit, 0, true, pErrorCode);
destLength+=(int32_t)(dest-buffer); destLength+=(int32_t)(dest-buffer);
} }
while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR); while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
@ -1907,15 +1907,15 @@ ucnv_getNextUChar(UConverter *cnv,
} }
/* /*
* flush==TRUE is implied for ucnv_getNextUChar() * flush==true is implied for ucnv_getNextUChar()
* *
* do not simply return even if s==sourceLimit because the converter may * do not simply return even if s==sourceLimit because the converter may
* not have seen flush==TRUE before * not have seen flush==true before
*/ */
/* prepare the converter arguments */ /* prepare the converter arguments */
args.converter=cnv; args.converter=cnv;
args.flush=TRUE; args.flush=true;
args.offsets=NULL; args.offsets=NULL;
args.source=s; args.source=s;
args.sourceLimit=sourceLimit; args.sourceLimit=sourceLimit;
@ -1937,7 +1937,7 @@ ucnv_getNextUChar(UConverter *cnv,
*source=s=args.source; *source=s=args.source;
if(*err==U_INDEX_OUTOFBOUNDS_ERROR) { if(*err==U_INDEX_OUTOFBOUNDS_ERROR) {
/* reset the converter without calling the callback function */ /* reset the converter without calling the callback function */
_reset(cnv, UCNV_RESET_TO_UNICODE, FALSE); _reset(cnv, UCNV_RESET_TO_UNICODE, false);
return 0xffff; /* no output */ return 0xffff; /* no output */
} else if(U_SUCCESS(*err) && c>=0) { } else if(U_SUCCESS(*err) && c>=0) {
return c; return c;
@ -2176,7 +2176,7 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
/* prepare the converter arguments */ /* prepare the converter arguments */
fromUArgs.converter=targetCnv; fromUArgs.converter=targetCnv;
fromUArgs.flush=FALSE; fromUArgs.flush=false;
fromUArgs.offsets=NULL; fromUArgs.offsets=NULL;
fromUArgs.target=*target; fromUArgs.target=*target;
fromUArgs.targetLimit=targetLimit; fromUArgs.targetLimit=targetLimit;
@ -2331,8 +2331,8 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
/* input consumed */ /* input consumed */
if(flush) { if(flush) {
/* reset the converters without calling the callback functions */ /* reset the converters without calling the callback functions */
_reset(sourceCnv, UCNV_RESET_TO_UNICODE, FALSE); _reset(sourceCnv, UCNV_RESET_TO_UNICODE, false);
_reset(targetCnv, UCNV_RESET_FROM_UNICODE, FALSE); _reset(targetCnv, UCNV_RESET_FROM_UNICODE, false);
} }
/* done successfully */ /* done successfully */
@ -2372,7 +2372,7 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
sourceCnv->preToULength>=0 && sourceCnv->preToULength>=0 &&
sourceCnv->UCharErrorBufferLength==0 sourceCnv->UCharErrorBufferLength==0
) { ) {
fromUArgs.flush=TRUE; fromUArgs.flush=true;
} }
} }
@ -2436,8 +2436,8 @@ ucnv_internalConvert(UConverter *outConverter, UConverter *inConverter,
&myTarget, targetLimit, &myTarget, targetLimit,
&source, sourceLimit, &source, sourceLimit,
pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE, pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE,
FALSE, false,
TRUE, true,
pErrorCode); pErrorCode);
targetLength=(int32_t)(myTarget-target); targetLength=(int32_t)(myTarget-target);
} }
@ -2459,8 +2459,8 @@ ucnv_internalConvert(UConverter *outConverter, UConverter *inConverter,
&myTarget, targetLimit, &myTarget, targetLimit,
&source, sourceLimit, &source, sourceLimit,
pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE, pivotBuffer, &pivot, &pivot2, pivotBuffer+CHUNK_SIZE,
FALSE, false,
TRUE, true,
pErrorCode); pErrorCode);
targetLength+=(int32_t)(myTarget-targetBuffer); targetLength+=(int32_t)(myTarget-targetBuffer);
} while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR); } while(*pErrorCode==U_BUFFER_OVERFLOW_ERROR);
@ -2585,7 +2585,7 @@ ucnv_toAlgorithmic(UConverterType algorithmicType,
char *target, int32_t targetCapacity, char *target, int32_t targetCapacity,
const char *source, int32_t sourceLength, const char *source, int32_t sourceLength,
UErrorCode *pErrorCode) { UErrorCode *pErrorCode) {
return ucnv_convertAlgorithmic(TRUE, algorithmicType, cnv, return ucnv_convertAlgorithmic(true, algorithmicType, cnv,
target, targetCapacity, target, targetCapacity,
source, sourceLength, source, sourceLength,
pErrorCode); pErrorCode);
@ -2597,7 +2597,7 @@ ucnv_fromAlgorithmic(UConverter *cnv,
char *target, int32_t targetCapacity, char *target, int32_t targetCapacity,
const char *source, int32_t sourceLength, const char *source, int32_t sourceLength,
UErrorCode *pErrorCode) { UErrorCode *pErrorCode) {
return ucnv_convertAlgorithmic(FALSE, algorithmicType, cnv, return ucnv_convertAlgorithmic(false, algorithmicType, cnv,
target, targetCapacity, target, targetCapacity,
source, sourceLength, source, sourceLength,
pErrorCode); pErrorCode);
@ -2885,12 +2885,12 @@ ucnv_toUCountPending(const UConverter* cnv, UErrorCode* status){
U_CAPI UBool U_EXPORT2 U_CAPI UBool U_EXPORT2
ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status){ ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status){
if (U_FAILURE(*status)) { if (U_FAILURE(*status)) {
return FALSE; return false;
} }
if (cnv == NULL) { if (cnv == NULL) {
*status = U_ILLEGAL_ARGUMENT_ERROR; *status = U_ILLEGAL_ARGUMENT_ERROR;
return FALSE; return false;
} }
switch (ucnv_getType(cnv)) { switch (ucnv_getType(cnv)) {
@ -2900,9 +2900,9 @@ ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status){
case UCNV_UTF32_LittleEndian: case UCNV_UTF32_LittleEndian:
case UCNV_UTF32: case UCNV_UTF32:
case UCNV_US_ASCII: case UCNV_US_ASCII:
return TRUE; return true;
default: default:
return FALSE; return false;
} }
} }
#endif #endif

View File

@ -491,7 +491,7 @@ _ISO2022Open(UConverter *cnv, UConverterLoadArgs *pArgs, UErrorCode *errorCode){
uprv_memset(myConverterData, 0, sizeof(UConverterDataISO2022)); uprv_memset(myConverterData, 0, sizeof(UConverterDataISO2022));
myConverterData->currentType = ASCII1; myConverterData->currentType = ASCII1;
cnv->fromUnicodeStatus =FALSE; cnv->fromUnicodeStatus =false;
if(pArgs->locale){ if(pArgs->locale){
uprv_strncpy(myLocale, pArgs->locale, sizeof(myLocale)-1); uprv_strncpy(myLocale, pArgs->locale, sizeof(myLocale)-1);
} }
@ -623,7 +623,7 @@ _ISO2022Open(UConverter *cnv, UConverterLoadArgs *pArgs, UErrorCode *errorCode){
#endif // !UCONFIG_ONLY_HTML_CONVERSION #endif // !UCONFIG_ONLY_HTML_CONVERSION
else{ else{
#ifdef U_ENABLE_GENERIC_ISO_2022 #ifdef U_ENABLE_GENERIC_ISO_2022
myConverterData->isFirstBuffer = TRUE; myConverterData->isFirstBuffer = true;
/* append the UTF-8 escape sequence */ /* append the UTF-8 escape sequence */
cnv->charErrorBufferLength = 3; cnv->charErrorBufferLength = 3;
@ -682,7 +682,7 @@ _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
if(choice<=UCNV_RESET_TO_UNICODE) { if(choice<=UCNV_RESET_TO_UNICODE) {
uprv_memset(&myConverterData->toU2022State, 0, sizeof(ISO2022State)); uprv_memset(&myConverterData->toU2022State, 0, sizeof(ISO2022State));
myConverterData->key = 0; myConverterData->key = 0;
myConverterData->isEmptySegment = FALSE; myConverterData->isEmptySegment = false;
} }
if(choice!=UCNV_RESET_TO_UNICODE) { if(choice!=UCNV_RESET_TO_UNICODE) {
uprv_memset(&myConverterData->fromU2022State, 0, sizeof(ISO2022State)); uprv_memset(&myConverterData->fromU2022State, 0, sizeof(ISO2022State));
@ -690,7 +690,7 @@ _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
#ifdef U_ENABLE_GENERIC_ISO_2022 #ifdef U_ENABLE_GENERIC_ISO_2022
if(myConverterData->locale[0] == 0){ if(myConverterData->locale[0] == 0){
if(choice<=UCNV_RESET_TO_UNICODE) { if(choice<=UCNV_RESET_TO_UNICODE) {
myConverterData->isFirstBuffer = TRUE; myConverterData->isFirstBuffer = true;
myConverterData->key = 0; myConverterData->key = 0;
if (converter->mode == UCNV_SO){ if (converter->mode == UCNV_SO){
ucnv_close (myConverterData->currentConverter); ucnv_close (myConverterData->currentConverter);
@ -1285,7 +1285,7 @@ T_UConverter_toUnicode_ISO_2022_OFFSETS_LOGIC(UConverterToUnicodeArgs* args,
} }
/* convert to before the ESC or until the end of the buffer */ /* convert to before the ESC or until the end of the buffer */
myData->isFirstBuffer=FALSE; myData->isFirstBuffer=false;
sourceStart = args->source; sourceStart = args->source;
myTargetStart = args->target; myTargetStart = args->target;
args->converter = myData->currentConverter; args->converter = myData->currentConverter;
@ -1848,7 +1848,7 @@ getTrail:
len = 1; len = 1;
cs = cs0; cs = cs0;
g = 0; g = 0;
useFallback = FALSE; useFallback = false;
} }
break; break;
case JISX208: case JISX208:
@ -1864,7 +1864,7 @@ getTrail:
len = len2; len = len2;
cs = cs0; cs = cs0;
g = 0; g = 0;
useFallback = FALSE; useFallback = false;
} }
} else if(len == 0 && useFallback && } else if(len == 0 && useFallback &&
(uint32_t)(sourceChar - HWKANA_START) <= (HWKANA_END - HWKANA_START)) { (uint32_t)(sourceChar - HWKANA_START) <= (HWKANA_END - HWKANA_START)) {
@ -1872,7 +1872,7 @@ getTrail:
len = -2; len = -2;
cs = cs0; cs = cs0;
g = 0; g = 0;
useFallback = FALSE; useFallback = false;
} }
break; break;
case ISO8859_7: case ISO8859_7:
@ -1886,7 +1886,7 @@ getTrail:
len = len2; len = len2;
cs = cs0; cs = cs0;
g = 2; g = 2;
useFallback = FALSE; useFallback = false;
} }
break; break;
default: default:
@ -1911,7 +1911,7 @@ getTrail:
len = len2; len = len2;
cs = cs0; cs = cs0;
g = 0; g = 0;
useFallback = FALSE; useFallback = false;
} }
break; break;
} }
@ -2121,7 +2121,7 @@ UConverter_toUnicode_ISO_2022_JP_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
continue; continue;
} else { } else {
/* only JIS7 uses SI/SO, not ISO-2022-JP-x */ /* only JIS7 uses SI/SO, not ISO-2022-JP-x */
myData->isEmptySegment = FALSE; /* reset this, we have a different error */ myData->isEmptySegment = false; /* reset this, we have a different error */
break; break;
} }
@ -2133,7 +2133,7 @@ UConverter_toUnicode_ISO_2022_JP_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
continue; continue;
} else { } else {
/* only JIS7 uses SI/SO, not ISO-2022-JP-x */ /* only JIS7 uses SI/SO, not ISO-2022-JP-x */
myData->isEmptySegment = FALSE; /* reset this, we have a different error */ myData->isEmptySegment = false; /* reset this, we have a different error */
break; break;
} }
@ -2159,12 +2159,12 @@ escape:
if(U_FAILURE(*err)){ if(U_FAILURE(*err)){
args->target = myTarget; args->target = myTarget;
args->source = mySource; args->source = mySource;
myData->isEmptySegment = FALSE; /* Reset to avoid future spurious errors */ myData->isEmptySegment = false; /* Reset to avoid future spurious errors */
return; return;
} }
/* If we successfully completed an escape sequence, we begin a new segment, empty so far */ /* If we successfully completed an escape sequence, we begin a new segment, empty so far */
if(myData->key==0) { if(myData->key==0) {
myData->isEmptySegment = TRUE; myData->isEmptySegment = true;
} }
continue; continue;
@ -2181,7 +2181,7 @@ escape:
U_FALLTHROUGH; U_FALLTHROUGH;
default: default:
/* convert one or two bytes */ /* convert one or two bytes */
myData->isEmptySegment = FALSE; myData->isEmptySegment = false;
cs = (StateEnum)pToU2022State->cs[pToU2022State->g]; cs = (StateEnum)pToU2022State->cs[pToU2022State->g];
if( (uint8_t)(mySourceChar - 0xa1) <= (0xdf - 0xa1) && myData->version==4 && if( (uint8_t)(mySourceChar - 0xa1) <= (0xdf - 0xa1) && myData->version==4 &&
!IS_JP_DBCS(cs) !IS_JP_DBCS(cs)
@ -2262,7 +2262,7 @@ getTrailByte:
tempBuf[0] = (char)(tmpSourceChar >> 8); tempBuf[0] = (char)(tmpSourceChar >> 8);
tempBuf[1] = (char)(tmpSourceChar); tempBuf[1] = (char)(tmpSourceChar);
} }
targetUniChar = ucnv_MBCSSimpleGetNextUChar(myData->myConverterArray[cs], tempBuf, 2, FALSE); targetUniChar = ucnv_MBCSSimpleGetNextUChar(myData->myConverterArray[cs], tempBuf, 2, false);
} else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) { } else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) {
/* report a pair of illegal bytes if the second byte is not a DBCS starter */ /* report a pair of illegal bytes if the second byte is not a DBCS starter */
++mySource; ++mySource;
@ -2534,7 +2534,7 @@ getTrail:
int32_t sourceIndex; int32_t sourceIndex;
/* we are switching to ASCII */ /* we are switching to ASCII */
isTargetByteDBCS=FALSE; isTargetByteDBCS=false;
/* get the source index of the last input character */ /* get the source index of the last input character */
/* /*
@ -2712,7 +2712,7 @@ UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
if(mySourceChar==UCNV_SI){ if(mySourceChar==UCNV_SI){
myData->toU2022State.g = 0; myData->toU2022State.g = 0;
if (myData->isEmptySegment) { if (myData->isEmptySegment) {
myData->isEmptySegment = FALSE; /* we are handling it, reset to avoid future spurious errors */ myData->isEmptySegment = false; /* we are handling it, reset to avoid future spurious errors */
*err = U_ILLEGAL_ESCAPE_SEQUENCE; *err = U_ILLEGAL_ESCAPE_SEQUENCE;
args->converter->toUCallbackReason = UCNV_IRREGULAR; args->converter->toUCallbackReason = UCNV_IRREGULAR;
args->converter->toUBytes[0] = (uint8_t)mySourceChar; args->converter->toUBytes[0] = (uint8_t)mySourceChar;
@ -2725,13 +2725,13 @@ UConverter_toUnicode_ISO_2022_KR_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
continue; continue;
}else if(mySourceChar==UCNV_SO){ }else if(mySourceChar==UCNV_SO){
myData->toU2022State.g = 1; myData->toU2022State.g = 1;
myData->isEmptySegment = TRUE; /* Begin a new segment, empty so far */ myData->isEmptySegment = true; /* Begin a new segment, empty so far */
/*consume the source */ /*consume the source */
continue; continue;
}else if(mySourceChar==ESC_2022){ }else if(mySourceChar==ESC_2022){
mySource--; mySource--;
escape: escape:
myData->isEmptySegment = FALSE; /* Any invalid ESC sequences will be detected separately, so just reset this */ myData->isEmptySegment = false; /* Any invalid ESC sequences will be detected separately, so just reset this */
changeState_2022(args->converter,&(mySource), changeState_2022(args->converter,&(mySource),
mySourceLimit, ISO_2022_KR, err); mySourceLimit, ISO_2022_KR, err);
if(U_FAILURE(*err)){ if(U_FAILURE(*err)){
@ -2742,7 +2742,7 @@ escape:
continue; continue;
} }
myData->isEmptySegment = FALSE; /* Any invalid char errors will be detected separately, so just reset this */ myData->isEmptySegment = false; /* Any invalid char errors will be detected separately, so just reset this */
if(myData->toU2022State.g == 1) { if(myData->toU2022State.g == 1) {
if(mySource < mySourceLimit) { if(mySource < mySourceLimit) {
int leadIsOk, trailIsOk; int leadIsOk, trailIsOk;
@ -3092,7 +3092,7 @@ getTrail:
len = 2; len = 2;
} else { } else {
len = -2; len = -2;
useFallback = FALSE; useFallback = false;
} }
if(cs == CNS_11643_1) { if(cs == CNS_11643_1) {
g = 1; g = 1;
@ -3119,7 +3119,7 @@ getTrail:
len = len2; len = len2;
cs = cs0; cs = cs0;
g = 1; g = 1;
useFallback = FALSE; useFallback = false;
} }
} }
} }
@ -3301,7 +3301,7 @@ UConverter_toUnicode_ISO_2022_CN_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
case UCNV_SI: case UCNV_SI:
pToU2022State->g=0; pToU2022State->g=0;
if (myData->isEmptySegment) { if (myData->isEmptySegment) {
myData->isEmptySegment = FALSE; /* we are handling it, reset to avoid future spurious errors */ myData->isEmptySegment = false; /* we are handling it, reset to avoid future spurious errors */
*err = U_ILLEGAL_ESCAPE_SEQUENCE; *err = U_ILLEGAL_ESCAPE_SEQUENCE;
args->converter->toUCallbackReason = UCNV_IRREGULAR; args->converter->toUCallbackReason = UCNV_IRREGULAR;
args->converter->toUBytes[0] = static_cast<uint8_t>(mySourceChar); args->converter->toUBytes[0] = static_cast<uint8_t>(mySourceChar);
@ -3315,11 +3315,11 @@ UConverter_toUnicode_ISO_2022_CN_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
case UCNV_SO: case UCNV_SO:
if(pToU2022State->cs[1] != 0) { if(pToU2022State->cs[1] != 0) {
pToU2022State->g=1; pToU2022State->g=1;
myData->isEmptySegment = TRUE; /* Begin a new segment, empty so far */ myData->isEmptySegment = true; /* Begin a new segment, empty so far */
continue; continue;
} else { } else {
/* illegal to have SO before a matching designator */ /* illegal to have SO before a matching designator */
myData->isEmptySegment = FALSE; /* Handling a different error, reset this to avoid future spurious errs */ myData->isEmptySegment = false; /* Handling a different error, reset this to avoid future spurious errs */
break; break;
} }
@ -3345,7 +3345,7 @@ escape:
if(U_FAILURE(*err)){ if(U_FAILURE(*err)){
args->target = myTarget; args->target = myTarget;
args->source = mySource; args->source = mySource;
myData->isEmptySegment = FALSE; /* Reset to avoid future spurious errors */ myData->isEmptySegment = false; /* Reset to avoid future spurious errors */
return; return;
} }
continue; continue;
@ -3358,7 +3358,7 @@ escape:
U_FALLTHROUGH; U_FALLTHROUGH;
default: default:
/* convert one or two bytes */ /* convert one or two bytes */
myData->isEmptySegment = FALSE; myData->isEmptySegment = false;
if(pToU2022State->g != 0) { if(pToU2022State->g != 0) {
if(mySource < mySourceLimit) { if(mySource < mySourceLimit) {
UConverterSharedData *cnv; UConverterSharedData *cnv;
@ -3397,7 +3397,7 @@ getTrailByte:
tempBuf[1] = (char) trailByte; tempBuf[1] = (char) trailByte;
tempBufLen = 2; tempBufLen = 2;
} }
targetUniChar = ucnv_MBCSSimpleGetNextUChar(cnv, tempBuf, tempBufLen, FALSE); targetUniChar = ucnv_MBCSSimpleGetNextUChar(cnv, tempBuf, tempBufLen, false);
mySourceChar = (mySourceChar << 8) | trailByte; mySourceChar = (mySourceChar << 8) | trailByte;
} else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) { } else if (!(trailIsOk || IS_2022_CONTROL(trailByte))) {
/* report a pair of illegal bytes if the second byte is not a DBCS starter */ /* report a pair of illegal bytes if the second byte is not a DBCS starter */
@ -3609,7 +3609,7 @@ _ISO_2022_SafeClone(
uprv_memcpy(&localClone->mydata, cnvData, sizeof(UConverterDataISO2022)); uprv_memcpy(&localClone->mydata, cnvData, sizeof(UConverterDataISO2022));
localClone->cnv.extraInfo = &localClone->mydata; /* set pointer to extra data */ localClone->cnv.extraInfo = &localClone->mydata; /* set pointer to extra data */
localClone->cnv.isExtraLocal = TRUE; localClone->cnv.isExtraLocal = true;
/* share the subconverters */ /* share the subconverters */
@ -3808,8 +3808,8 @@ static const UConverterStaticData _ISO2022StaticData={
3, /* max 3 bytes per UChar from UTF-8 (4 bytes from surrogate _pair_) */ 3, /* max 3 bytes per UChar from UTF-8 (4 bytes from surrogate _pair_) */
{ 0x1a, 0, 0, 0 }, { 0x1a, 0, 0, 0 },
1, 1,
FALSE, false,
FALSE, false,
0, 0,
0, 0,
{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */ { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
@ -3853,8 +3853,8 @@ static const UConverterStaticData _ISO2022JPStaticData={
6, /* max 6 bytes per UChar: 4-byte escape sequence + DBCS */ 6, /* max 6 bytes per UChar: 4-byte escape sequence + DBCS */
{ 0x1a, 0, 0, 0 }, { 0x1a, 0, 0, 0 },
1, 1,
FALSE, false,
FALSE, false,
0, 0,
0, 0,
{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */ { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
@ -3904,8 +3904,8 @@ static const UConverterStaticData _ISO2022KRStaticData={
8, /* max 8 bytes per UChar */ 8, /* max 8 bytes per UChar */
{ 0x1a, 0, 0, 0 }, { 0x1a, 0, 0, 0 },
1, 1,
FALSE, false,
FALSE, false,
0, 0,
0, 0,
{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */ { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */
@ -3955,8 +3955,8 @@ static const UConverterStaticData _ISO2022CNStaticData={
8, /* max 8 bytes per UChar: 4-byte CNS designator + 2 bytes for SS2/SS3 + DBCS */ 8, /* max 8 bytes per UChar: 4-byte CNS designator + 2 bytes for SS2/SS3 + DBCS */
{ 0x1a, 0, 0, 0 }, { 0x1a, 0, 0, 0 },
1, 1,
FALSE, false,
FALSE, false,
0, 0,
0, 0,
{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */ { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } /* reserved */

View File

@ -200,7 +200,7 @@ static icu::UMutex cnvCacheMutex;
static const char **gAvailableConverters = NULL; static const char **gAvailableConverters = NULL;
static uint16_t gAvailableConverterCount = 0; static uint16_t gAvailableConverterCount = 0;
static icu::UInitOnce gAvailableConvertersInitOnce = U_INITONCE_INITIALIZER; static icu::UInitOnce gAvailableConvertersInitOnce {};
#if !U_CHARSET_IS_UTF8 #if !U_CHARSET_IS_UTF8
@ -254,7 +254,7 @@ static UBool U_CALLCONV ucnv_cleanup(void) {
#if !U_CHARSET_IS_UTF8 #if !U_CHARSET_IS_UTF8
gDefaultConverterName = NULL; gDefaultConverterName = NULL;
gDefaultConverterNameBuffer[0] = 0; gDefaultConverterNameBuffer[0] = 0;
gDefaultConverterContainsOption = FALSE; gDefaultConverterContainsOption = false;
gDefaultAlgorithmicSharedData = NULL; gDefaultAlgorithmicSharedData = NULL;
#endif #endif
@ -318,7 +318,7 @@ ucnv_data_unFlattenClone(UConverterLoadArgs *pArgs, UDataMemory *pData, UErrorCo
data->staticData = source; data->staticData = source;
data->sharedDataCached = FALSE; data->sharedDataCached = false;
/* fill in fields from the loaded data */ /* fill in fields from the loaded data */
data->dataMemory = (void*)pData; /* for future use */ data->dataMemory = (void*)pData; /* for future use */
@ -462,7 +462,7 @@ ucnv_shareConverterData(UConverterSharedData * data)
*/ */
/* Mark it shared */ /* Mark it shared */
data->sharedDataCached = TRUE; data->sharedDataCached = true;
uhash_put(SHARED_DATA_HASHTABLE, uhash_put(SHARED_DATA_HASHTABLE,
(void*) data->staticData->name, /* Okay to cast away const as long as (void*) data->staticData->name, /* Okay to cast away const as long as
@ -502,11 +502,11 @@ ucnv_getSharedConverterData(const char *name)
*/ */
/* Deletes (frees) the Shared data it's passed. first it checks the referenceCounter to /* Deletes (frees) the Shared data it's passed. first it checks the referenceCounter to
* see if anyone is using it, if not it frees all the memory stemming from sharedConverterData and * see if anyone is using it, if not it frees all the memory stemming from sharedConverterData and
* returns TRUE, * returns true,
* otherwise returns FALSE * otherwise returns false
* @param sharedConverterData The shared data * @param sharedConverterData The shared data
* @return if not it frees all the memory stemming from sharedConverterData and * @return if not it frees all the memory stemming from sharedConverterData and
* returns TRUE, otherwise returns FALSE * returns true, otherwise returns false
*/ */
static UBool static UBool
ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData) ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
@ -515,8 +515,8 @@ ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
UTRACE_DATA2(UTRACE_OPEN_CLOSE, "unload converter %s shared data %p", deadSharedData->staticData->name, deadSharedData); UTRACE_DATA2(UTRACE_OPEN_CLOSE, "unload converter %s shared data %p", deadSharedData->staticData->name, deadSharedData);
if (deadSharedData->referenceCounter > 0) { if (deadSharedData->referenceCounter > 0) {
UTRACE_EXIT_VALUE((int32_t)FALSE); UTRACE_EXIT_VALUE((int32_t)false);
return FALSE; return false;
} }
if (deadSharedData->impl->unload != NULL) { if (deadSharedData->impl->unload != NULL) {
@ -531,8 +531,8 @@ ucnv_deleteSharedConverterData(UConverterSharedData * deadSharedData)
uprv_free(deadSharedData); uprv_free(deadSharedData);
UTRACE_EXIT_VALUE((int32_t)TRUE); UTRACE_EXIT_VALUE((int32_t)true);
return TRUE; return true;
} }
/** /**
@ -589,7 +589,7 @@ ucnv_unload(UConverterSharedData *sharedData) {
sharedData->referenceCounter--; sharedData->referenceCounter--;
} }
if((sharedData->referenceCounter <= 0)&&(sharedData->sharedDataCached == FALSE)) { if((sharedData->referenceCounter <= 0)&&(sharedData->sharedDataCached == false)) {
ucnv_deleteSharedConverterData(sharedData); ucnv_deleteSharedConverterData(sharedData);
} }
} }
@ -703,10 +703,10 @@ parseConverterOptions(const char *inName,
/*Logic determines if the converter is Algorithmic AND/OR cached /*Logic determines if the converter is Algorithmic AND/OR cached
*depending on that: *depending on that:
* -we either go to get data from disk and cache it (Data=TRUE, Cached=False) * -we either go to get data from disk and cache it (Data=true, Cached=false)
* -Get it from a Hashtable (Data=X, Cached=TRUE) * -Get it from a Hashtable (Data=X, Cached=true)
* -Call dataConverter initializer (Data=TRUE, Cached=TRUE) * -Call dataConverter initializer (Data=true, Cached=true)
* -Call AlgorithmicConverter initializer (Data=FALSE, Cached=TRUE) * -Call AlgorithmicConverter initializer (Data=false, Cached=true)
*/ */
U_CFUNC UConverterSharedData * U_CFUNC UConverterSharedData *
ucnv_loadSharedData(const char *converterName, ucnv_loadSharedData(const char *converterName,
@ -717,8 +717,8 @@ ucnv_loadSharedData(const char *converterName,
UConverterLoadArgs stackArgs; UConverterLoadArgs stackArgs;
UConverterSharedData *mySharedConverterData = NULL; UConverterSharedData *mySharedConverterData = NULL;
UErrorCode internalErrorCode = U_ZERO_ERROR; UErrorCode internalErrorCode = U_ZERO_ERROR;
UBool mayContainOption = TRUE; UBool mayContainOption = true;
UBool checkForAlgorithmic = TRUE; UBool checkForAlgorithmic = true;
if (U_FAILURE (*err)) { if (U_FAILURE (*err)) {
return NULL; return NULL;
@ -762,7 +762,7 @@ ucnv_loadSharedData(const char *converterName,
return NULL; return NULL;
} }
mySharedConverterData = (UConverterSharedData *)gDefaultAlgorithmicSharedData; mySharedConverterData = (UConverterSharedData *)gDefaultAlgorithmicSharedData;
checkForAlgorithmic = FALSE; checkForAlgorithmic = false;
mayContainOption = gDefaultConverterContainsOption; mayContainOption = gDefaultConverterContainsOption;
/* the default converter name is already canonical */ /* the default converter name is already canonical */
#endif #endif
@ -866,7 +866,7 @@ ucnv_canCreateConverter(const char *converterName, UErrorCode *err) {
if(U_SUCCESS(*err)) { if(U_SUCCESS(*err)) {
UTRACE_DATA1(UTRACE_OPEN_CLOSE, "test if can open converter %s", converterName); UTRACE_DATA1(UTRACE_OPEN_CLOSE, "test if can open converter %s", converterName);
stackArgs.onlyTestIsLoadable=TRUE; stackArgs.onlyTestIsLoadable=true;
mySharedConverterData = ucnv_loadSharedData(converterName, &stackPieces, &stackArgs, err); mySharedConverterData = ucnv_loadSharedData(converterName, &stackPieces, &stackArgs, err);
ucnv_createConverterFromSharedData( ucnv_createConverterFromSharedData(
&myUConverter, mySharedConverterData, &myUConverter, mySharedConverterData,
@ -989,15 +989,15 @@ ucnv_createConverterFromSharedData(UConverter *myUConverter,
ucnv_unloadSharedDataIfReady(mySharedConverterData); ucnv_unloadSharedDataIfReady(mySharedConverterData);
return NULL; return NULL;
} }
isCopyLocal = FALSE; isCopyLocal = false;
} else { } else {
isCopyLocal = TRUE; isCopyLocal = true;
} }
/* initialize the converter */ /* initialize the converter */
uprv_memset(myUConverter, 0, sizeof(UConverter)); uprv_memset(myUConverter, 0, sizeof(UConverter));
myUConverter->isCopyLocal = isCopyLocal; myUConverter->isCopyLocal = isCopyLocal;
/*myUConverter->isExtraLocal = FALSE;*/ /* Set by the memset call */ /*myUConverter->isExtraLocal = false;*/ /* Set by the memset call */
myUConverter->sharedData = mySharedConverterData; myUConverter->sharedData = mySharedConverterData;
myUConverter->options = pArgs->options; myUConverter->options = pArgs->options;
if(!pArgs->onlyTestIsLoadable) { if(!pArgs->onlyTestIsLoadable) {
@ -1083,7 +1083,7 @@ ucnv_flushCache ()
UCNV_DEBUG_LOG("del",mySharedData->staticData->name,mySharedData); UCNV_DEBUG_LOG("del",mySharedData->staticData->name,mySharedData);
uhash_removeElement(SHARED_DATA_HASHTABLE, e); uhash_removeElement(SHARED_DATA_HASHTABLE, e);
mySharedData->sharedDataCached = FALSE; mySharedData->sharedDataCached = false;
ucnv_deleteSharedConverterData (mySharedData); ucnv_deleteSharedConverterData (mySharedData);
} else { } else {
++remaining; ++remaining;
@ -1342,7 +1342,7 @@ ucnv_swap(const UDataSwapper *ds,
_MBCSHeader *outMBCSHeader; _MBCSHeader *outMBCSHeader;
_MBCSHeader mbcsHeader; _MBCSHeader mbcsHeader;
uint32_t mbcsHeaderLength; uint32_t mbcsHeaderLength;
UBool noFromU=FALSE; UBool noFromU=false;
uint8_t outputType; uint8_t outputType;

Some files were not shown because too many files have changed in this diff Show More