1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-31 18:41:20 +00:00
Files
godot/thirdparty/icu4c/common/locbased.cpp
Pāvels Nadtočajevs 1ca8f1d7f6 Update ICU to 78.1
2025-12-13 00:04:35 +02:00

47 lines
1.4 KiB
C++

// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
* Copyright (c) 2004-2014, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: January 16 2004
* Since: ICU 2.8
**********************************************************************
*/
#include "locbased.h"
#include "uresimp.h"
U_NAMESPACE_BEGIN
const Locale& LocaleBased::getLocale(const Locale& valid, const Locale& actual,
ULocDataLocaleType type, UErrorCode& status) {
if (U_FAILURE(status)) {
return Locale::getRoot();
}
switch(type) {
case ULOC_VALID_LOCALE:
return valid;
case ULOC_ACTUAL_LOCALE:
return actual;
default:
status = U_ILLEGAL_ARGUMENT_ERROR;
return Locale::getRoot();
}
}
const char* LocaleBased::getLocaleID(const Locale& valid, const Locale& actual,
ULocDataLocaleType type, UErrorCode& status) {
const Locale& locale = getLocale(valid, actual, type, status);
if (U_FAILURE(status)) {
return nullptr;
}
return locale == Locale::getRoot() ? kRootLocaleName : locale.getName();
}
U_NAMESPACE_END