summaryrefslogtreecommitdiffstats
path: root/thirdparty/icu4c/common/brkiter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/icu4c/common/brkiter.cpp')
-rw-r--r--thirdparty/icu4c/common/brkiter.cpp62
1 files changed, 31 insertions, 31 deletions
diff --git a/thirdparty/icu4c/common/brkiter.cpp b/thirdparty/icu4c/common/brkiter.cpp
index d6996734e3..41e4e0dff5 100644
--- a/thirdparty/icu4c/common/brkiter.cpp
+++ b/thirdparty/icu4c/common/brkiter.cpp
@@ -60,15 +60,15 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st
char ext[4]={'\0'};
CharString actualLocale;
int32_t size;
- const UChar* brkfname = NULL;
+ const char16_t* brkfname = nullptr;
UResourceBundle brkRulesStack;
UResourceBundle brkNameStack;
UResourceBundle *brkRules = &brkRulesStack;
UResourceBundle *brkName = &brkNameStack;
- RuleBasedBreakIterator *result = NULL;
+ RuleBasedBreakIterator *result = nullptr;
if (U_FAILURE(status))
- return NULL;
+ return nullptr;
ures_initStackObject(brkRules);
ures_initStackObject(brkName);
@@ -95,9 +95,9 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st
if (U_SUCCESS(status) && brkfname) {
actualLocale.append(ures_getLocaleInternal(brkName, &status), -1, status);
- UChar* extStart=u_strchr(brkfname, 0x002e);
+ char16_t* extStart=u_strchr(brkfname, 0x002e);
int len = 0;
- if(extStart!=NULL){
+ if (extStart != nullptr){
len = (int)(extStart-brkfname);
u_UCharsToChars(extStart+1, ext, sizeof(ext)); // nul terminates the buff
u_UCharsToChars(brkfname, fnbuff, len);
@@ -112,14 +112,14 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st
UDataMemory* file = udata_open(U_ICUDATA_BRKITR, ext, fnbuff, &status);
if (U_FAILURE(status)) {
ures_close(b);
- return NULL;
+ return nullptr;
}
// Create a RuleBasedBreakIterator
- result = new RuleBasedBreakIterator(file, uprv_strstr(type, "phrase") != NULL, status);
+ result = new RuleBasedBreakIterator(file, uprv_strstr(type, "phrase") != nullptr, status);
// If there is a result, set the valid locale and actual locale, and the kind
- if (U_SUCCESS(status) && result != NULL) {
+ if (U_SUCCESS(status) && result != nullptr) {
U_LOCALE_BASED(locBased, *(BreakIterator*)result);
locBased.setLocaleIDs(ures_getLocaleByType(b, ULOC_VALID_LOCALE, &status),
actualLocale.data());
@@ -127,12 +127,12 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st
ures_close(b);
- if (U_FAILURE(status) && result != NULL) { // Sometimes redundant check, but simple
+ if (U_FAILURE(status) && result != nullptr) { // Sometimes redundant check, but simple
delete result;
- return NULL;
+ return nullptr;
}
- if (result == NULL) {
+ if (result == nullptr) {
udata_close(file);
if (U_SUCCESS(status)) {
status = U_MEMORY_ALLOCATION_ERROR;
@@ -260,7 +260,7 @@ public:
}
virtual UObject* handleDefault(const ICUServiceKey& key, UnicodeString* /*actualID*/, UErrorCode& status) const override {
- LocaleKey& lkey = (LocaleKey&)key;
+ LocaleKey& lkey = static_cast<LocaleKey&>(const_cast<ICUServiceKey&>(key));
int32_t kind = lkey.kind();
Locale loc;
lkey.currentLocale(loc);
@@ -280,7 +280,7 @@ ICUBreakIteratorService::~ICUBreakIteratorService() {}
U_NAMESPACE_END
static icu::UInitOnce gInitOnceBrkiter {};
-static icu::ICULocaleService* gService = NULL;
+static icu::ICULocaleService* gService = nullptr;
@@ -288,11 +288,11 @@ static icu::ICULocaleService* gService = NULL;
* Release all static memory held by breakiterator.
*/
U_CDECL_BEGIN
-static UBool U_CALLCONV breakiterator_cleanup(void) {
+static UBool U_CALLCONV breakiterator_cleanup() {
#if !UCONFIG_NO_SERVICE
if (gService) {
delete gService;
- gService = NULL;
+ gService = nullptr;
}
gInitOnceBrkiter.reset();
#endif
@@ -302,13 +302,13 @@ U_CDECL_END
U_NAMESPACE_BEGIN
static void U_CALLCONV
-initService(void) {
+initService() {
gService = new ICUBreakIteratorService();
ucln_common_registerCleanup(UCLN_COMMON_BREAKITERATOR, breakiterator_cleanup);
}
static ICULocaleService*
-getService(void)
+getService()
{
umtx_initOnce(gInitOnceBrkiter, &initService);
return gService;
@@ -318,9 +318,9 @@ getService(void)
// -------------------------------------
static inline UBool
-hasService(void)
+hasService()
{
- return !gInitOnceBrkiter.isReset() && getService() != NULL;
+ return !gInitOnceBrkiter.isReset() && getService() != nullptr;
}
// -------------------------------------
@@ -329,9 +329,9 @@ URegistryKey U_EXPORT2
BreakIterator::registerInstance(BreakIterator* toAdopt, const Locale& locale, UBreakIteratorType kind, UErrorCode& status)
{
ICULocaleService *service = getService();
- if (service == NULL) {
+ if (service == nullptr) {
status = U_MEMORY_ALLOCATION_ERROR;
- return NULL;
+ return nullptr;
}
return service->registerInstance(toAdopt, locale, kind, status);
}
@@ -353,11 +353,11 @@ BreakIterator::unregister(URegistryKey key, UErrorCode& status)
// -------------------------------------
StringEnumeration* U_EXPORT2
-BreakIterator::getAvailableLocales(void)
+BreakIterator::getAvailableLocales()
{
ICULocaleService *service = getService();
- if (service == NULL) {
- return NULL;
+ if (service == nullptr) {
+ return nullptr;
}
return service->getAvailableLocales();
}
@@ -369,7 +369,7 @@ BreakIterator*
BreakIterator::createInstance(const Locale& loc, int32_t kind, UErrorCode& status)
{
if (U_FAILURE(status)) {
- return NULL;
+ return nullptr;
}
#if !UCONFIG_NO_SERVICE
@@ -386,7 +386,7 @@ BreakIterator::createInstance(const Locale& loc, int32_t kind, UErrorCode& statu
// handleDefault calls), so we don't touch it. YES, A COMMENT
// THIS LONG is a sign of bad code -- so the action item is to
// revisit this in ICU 3.0 and clean it up/fix it/remove it.
- if (U_SUCCESS(status) && (result != NULL) && *actualLoc.getName() != 0) {
+ if (U_SUCCESS(status) && (result != nullptr) && *actualLoc.getName() != 0) {
U_LOCALE_BASED(locBased, *result);
locBased.setLocaleIDs(actualLoc.getName(), actualLoc.getName());
}
@@ -407,10 +407,10 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
{
if (U_FAILURE(status)) {
- return NULL;
+ return nullptr;
}
- BreakIterator *result = NULL;
+ BreakIterator *result = nullptr;
switch (kind) {
case UBRK_CHARACTER:
{
@@ -439,8 +439,8 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
uprv_strcat(lb_lw, "_");
uprv_strcat(lb_lw, value.data());
}
- // lw=phrase is only supported in Japanese.
- if (uprv_strcmp(loc.getLanguage(), "ja") == 0) {
+ // lw=phrase is only supported in Japanese and Korean
+ if (uprv_strcmp(loc.getLanguage(), "ja") == 0 || uprv_strcmp(loc.getLanguage(), "ko") == 0) {
value.clear();
loc.getKeywordValue("lw", valueSink, kvStatus);
if (U_SUCCESS(kvStatus) && value == "phrase") {
@@ -485,7 +485,7 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
}
if (U_FAILURE(status)) {
- return NULL;
+ return nullptr;
}
return result;