summaryrefslogtreecommitdiffstats
path: root/contrib/libs/icu/common/servlk.cpp
diff options
context:
space:
mode:
authorneksard <[email protected]>2022-02-10 16:45:23 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:45:23 +0300
commit8f7cf138264e0caa318144bf8a2c950e0b0a8593 (patch)
tree83bf5c8c8047c42d8475e6095df90ccdc3d1b57f /contrib/libs/icu/common/servlk.cpp
parentd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (diff)
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/common/servlk.cpp')
-rw-r--r--contrib/libs/icu/common/servlk.cpp374
1 files changed, 187 insertions, 187 deletions
diff --git a/contrib/libs/icu/common/servlk.cpp b/contrib/libs/icu/common/servlk.cpp
index 538982ca362..576d1483301 100644
--- a/contrib/libs/icu/common/servlk.cpp
+++ b/contrib/libs/icu/common/servlk.cpp
@@ -1,188 +1,188 @@
// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/**
- *******************************************************************************
- * Copyright (C) 2001-2014, International Business Machines Corporation and *
- * others. All Rights Reserved. *
- *******************************************************************************
- *
- *******************************************************************************
- */
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_SERVICE
-
-#include "unicode/resbund.h"
-#include "uresimp.h"
-#include "cmemory.h"
-#include "servloc.h"
-#include "ustrfmt.h"
-#include "uhash.h"
-#include "charstr.h"
-#include "uassert.h"
-
-#define UNDERSCORE_CHAR ((UChar)0x005f)
-#define AT_SIGN_CHAR ((UChar)64)
-#define PERIOD_CHAR ((UChar)46)
-
-U_NAMESPACE_BEGIN
-
-LocaleKey*
-LocaleKey::createWithCanonicalFallback(const UnicodeString* primaryID,
- const UnicodeString* canonicalFallbackID,
- UErrorCode& status)
-{
- return LocaleKey::createWithCanonicalFallback(primaryID, canonicalFallbackID, KIND_ANY, status);
-}
-
-LocaleKey*
-LocaleKey::createWithCanonicalFallback(const UnicodeString* primaryID,
- const UnicodeString* canonicalFallbackID,
- int32_t kind,
- UErrorCode& status)
-{
- if (primaryID == NULL || U_FAILURE(status)) {
- return NULL;
- }
- UnicodeString canonicalPrimaryID;
- LocaleUtility::canonicalLocaleString(primaryID, canonicalPrimaryID);
- return new LocaleKey(*primaryID, canonicalPrimaryID, canonicalFallbackID, kind);
-}
-
-LocaleKey::LocaleKey(const UnicodeString& primaryID,
- const UnicodeString& canonicalPrimaryID,
- const UnicodeString* canonicalFallbackID,
- int32_t kind)
- : ICUServiceKey(primaryID)
- , _kind(kind)
- , _primaryID(canonicalPrimaryID)
- , _fallbackID()
- , _currentID()
-{
- _fallbackID.setToBogus();
- if (_primaryID.length() != 0) {
- if (canonicalFallbackID != NULL && _primaryID != *canonicalFallbackID) {
- _fallbackID = *canonicalFallbackID;
- }
- }
-
- _currentID = _primaryID;
-}
-
-LocaleKey::~LocaleKey() {}
-
-UnicodeString&
-LocaleKey::prefix(UnicodeString& result) const {
- if (_kind != KIND_ANY) {
- UChar buffer[64];
- uprv_itou(buffer, 64, _kind, 10, 0);
- UnicodeString temp(buffer);
- result.append(temp);
- }
- return result;
-}
-
-int32_t
-LocaleKey::kind() const {
- return _kind;
-}
-
-UnicodeString&
-LocaleKey::canonicalID(UnicodeString& result) const {
- return result.append(_primaryID);
-}
-
-UnicodeString&
-LocaleKey::currentID(UnicodeString& result) const {
- if (!_currentID.isBogus()) {
- result.append(_currentID);
- }
- return result;
-}
-
-UnicodeString&
-LocaleKey::currentDescriptor(UnicodeString& result) const {
- if (!_currentID.isBogus()) {
- prefix(result).append(PREFIX_DELIMITER).append(_currentID);
- } else {
- result.setToBogus();
- }
- return result;
-}
-
-Locale&
-LocaleKey::canonicalLocale(Locale& result) const {
- return LocaleUtility::initLocaleFromName(_primaryID, result);
-}
-
-Locale&
-LocaleKey::currentLocale(Locale& result) const {
- return LocaleUtility::initLocaleFromName(_currentID, result);
-}
-
-UBool
-LocaleKey::fallback() {
- if (!_currentID.isBogus()) {
- int x = _currentID.lastIndexOf(UNDERSCORE_CHAR);
- if (x != -1) {
- _currentID.remove(x); // truncate current or fallback, whichever we're pointing to
- return TRUE;
- }
-
- if (!_fallbackID.isBogus()) {
- _currentID = _fallbackID;
- _fallbackID.setToBogus();
- return TRUE;
- }
-
- if (_currentID.length() > 0) {
- _currentID.remove(0); // completely truncate
- return TRUE;
- }
-
- _currentID.setToBogus();
- }
-
- return FALSE;
-}
-
-UBool
-LocaleKey::isFallbackOf(const UnicodeString& id) const {
- UnicodeString temp(id);
- parseSuffix(temp);
- return temp.indexOf(_primaryID) == 0 &&
- (temp.length() == _primaryID.length() ||
- temp.charAt(_primaryID.length()) == UNDERSCORE_CHAR);
-}
-
-#ifdef SERVICE_DEBUG
-UnicodeString&
-LocaleKey::debug(UnicodeString& result) const
-{
- ICUServiceKey::debug(result);
- result.append((UnicodeString)" kind: ");
- result.append(_kind);
- result.append((UnicodeString)" primaryID: ");
- result.append(_primaryID);
- result.append((UnicodeString)" fallbackID: ");
- result.append(_fallbackID);
- result.append((UnicodeString)" currentID: ");
- result.append(_currentID);
- return result;
-}
-
-UnicodeString&
-LocaleKey::debugClass(UnicodeString& result) const
-{
- return result.append((UnicodeString)"LocaleKey ");
-}
-#endif
-
-UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LocaleKey)
-
-U_NAMESPACE_END
-
-/* !UCONFIG_NO_SERVICE */
-#endif
-
-
+// License & terms of use: http://www.unicode.org/copyright.html
+/**
+ *******************************************************************************
+ * Copyright (C) 2001-2014, International Business Machines Corporation and *
+ * others. All Rights Reserved. *
+ *******************************************************************************
+ *
+ *******************************************************************************
+ */
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_SERVICE
+
+#include "unicode/resbund.h"
+#include "uresimp.h"
+#include "cmemory.h"
+#include "servloc.h"
+#include "ustrfmt.h"
+#include "uhash.h"
+#include "charstr.h"
+#include "uassert.h"
+
+#define UNDERSCORE_CHAR ((UChar)0x005f)
+#define AT_SIGN_CHAR ((UChar)64)
+#define PERIOD_CHAR ((UChar)46)
+
+U_NAMESPACE_BEGIN
+
+LocaleKey*
+LocaleKey::createWithCanonicalFallback(const UnicodeString* primaryID,
+ const UnicodeString* canonicalFallbackID,
+ UErrorCode& status)
+{
+ return LocaleKey::createWithCanonicalFallback(primaryID, canonicalFallbackID, KIND_ANY, status);
+}
+
+LocaleKey*
+LocaleKey::createWithCanonicalFallback(const UnicodeString* primaryID,
+ const UnicodeString* canonicalFallbackID,
+ int32_t kind,
+ UErrorCode& status)
+{
+ if (primaryID == NULL || U_FAILURE(status)) {
+ return NULL;
+ }
+ UnicodeString canonicalPrimaryID;
+ LocaleUtility::canonicalLocaleString(primaryID, canonicalPrimaryID);
+ return new LocaleKey(*primaryID, canonicalPrimaryID, canonicalFallbackID, kind);
+}
+
+LocaleKey::LocaleKey(const UnicodeString& primaryID,
+ const UnicodeString& canonicalPrimaryID,
+ const UnicodeString* canonicalFallbackID,
+ int32_t kind)
+ : ICUServiceKey(primaryID)
+ , _kind(kind)
+ , _primaryID(canonicalPrimaryID)
+ , _fallbackID()
+ , _currentID()
+{
+ _fallbackID.setToBogus();
+ if (_primaryID.length() != 0) {
+ if (canonicalFallbackID != NULL && _primaryID != *canonicalFallbackID) {
+ _fallbackID = *canonicalFallbackID;
+ }
+ }
+
+ _currentID = _primaryID;
+}
+
+LocaleKey::~LocaleKey() {}
+
+UnicodeString&
+LocaleKey::prefix(UnicodeString& result) const {
+ if (_kind != KIND_ANY) {
+ UChar buffer[64];
+ uprv_itou(buffer, 64, _kind, 10, 0);
+ UnicodeString temp(buffer);
+ result.append(temp);
+ }
+ return result;
+}
+
+int32_t
+LocaleKey::kind() const {
+ return _kind;
+}
+
+UnicodeString&
+LocaleKey::canonicalID(UnicodeString& result) const {
+ return result.append(_primaryID);
+}
+
+UnicodeString&
+LocaleKey::currentID(UnicodeString& result) const {
+ if (!_currentID.isBogus()) {
+ result.append(_currentID);
+ }
+ return result;
+}
+
+UnicodeString&
+LocaleKey::currentDescriptor(UnicodeString& result) const {
+ if (!_currentID.isBogus()) {
+ prefix(result).append(PREFIX_DELIMITER).append(_currentID);
+ } else {
+ result.setToBogus();
+ }
+ return result;
+}
+
+Locale&
+LocaleKey::canonicalLocale(Locale& result) const {
+ return LocaleUtility::initLocaleFromName(_primaryID, result);
+}
+
+Locale&
+LocaleKey::currentLocale(Locale& result) const {
+ return LocaleUtility::initLocaleFromName(_currentID, result);
+}
+
+UBool
+LocaleKey::fallback() {
+ if (!_currentID.isBogus()) {
+ int x = _currentID.lastIndexOf(UNDERSCORE_CHAR);
+ if (x != -1) {
+ _currentID.remove(x); // truncate current or fallback, whichever we're pointing to
+ return TRUE;
+ }
+
+ if (!_fallbackID.isBogus()) {
+ _currentID = _fallbackID;
+ _fallbackID.setToBogus();
+ return TRUE;
+ }
+
+ if (_currentID.length() > 0) {
+ _currentID.remove(0); // completely truncate
+ return TRUE;
+ }
+
+ _currentID.setToBogus();
+ }
+
+ return FALSE;
+}
+
+UBool
+LocaleKey::isFallbackOf(const UnicodeString& id) const {
+ UnicodeString temp(id);
+ parseSuffix(temp);
+ return temp.indexOf(_primaryID) == 0 &&
+ (temp.length() == _primaryID.length() ||
+ temp.charAt(_primaryID.length()) == UNDERSCORE_CHAR);
+}
+
+#ifdef SERVICE_DEBUG
+UnicodeString&
+LocaleKey::debug(UnicodeString& result) const
+{
+ ICUServiceKey::debug(result);
+ result.append((UnicodeString)" kind: ");
+ result.append(_kind);
+ result.append((UnicodeString)" primaryID: ");
+ result.append(_primaryID);
+ result.append((UnicodeString)" fallbackID: ");
+ result.append(_fallbackID);
+ result.append((UnicodeString)" currentID: ");
+ result.append(_currentID);
+ return result;
+}
+
+UnicodeString&
+LocaleKey::debugClass(UnicodeString& result) const
+{
+ return result.append((UnicodeString)"LocaleKey ");
+}
+#endif
+
+UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LocaleKey)
+
+U_NAMESPACE_END
+
+/* !UCONFIG_NO_SERVICE */
+#endif
+
+