libroot/locale: Fix indentation of locale_t.cpp.
Also adjust some braces. No functional change intended.
This commit is contained in:
@@ -27,77 +27,77 @@ using BPrivate::Libroot::LocaleDataBridge;
|
|||||||
extern "C" locale_t
|
extern "C" locale_t
|
||||||
duplocale(locale_t l)
|
duplocale(locale_t l)
|
||||||
{
|
{
|
||||||
LocaleBackendData* locObj = (LocaleBackendData*)l;
|
LocaleBackendData* locObj = (LocaleBackendData*)l;
|
||||||
|
|
||||||
LocaleBackendData* newObj = new (std::nothrow) LocaleBackendData;
|
LocaleBackendData* newObj = new (std::nothrow) LocaleBackendData;
|
||||||
if (newObj == NULL) {
|
if (newObj == NULL) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
return (locale_t)0;
|
return (locale_t)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LocaleBackend* backend = (l == LC_GLOBAL_LOCALE) ?
|
LocaleBackend* backend = (l == LC_GLOBAL_LOCALE) ?
|
||||||
gGlobalLocaleBackend : (LocaleBackend*)locObj->backend;
|
gGlobalLocaleBackend : (LocaleBackend*)locObj->backend;
|
||||||
|
|
||||||
if (backend == NULL) {
|
if (backend == NULL) {
|
||||||
newObj->backend = NULL;
|
newObj->backend = NULL;
|
||||||
return (locale_t)newObj;
|
return (locale_t)newObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if everything is set to "C" or "POSIX",
|
// Check if everything is set to "C" or "POSIX",
|
||||||
// and avoid making a backend.
|
// and avoid making a backend.
|
||||||
const char* localeDescription = backend->SetLocale(LC_ALL, NULL);
|
const char* localeDescription = backend->SetLocale(LC_ALL, NULL);
|
||||||
|
|
||||||
if ((strcasecmp(localeDescription, "POSIX") == 0)
|
if ((strcasecmp(localeDescription, "POSIX") == 0)
|
||||||
|| (strcasecmp(localeDescription, "C") == 0)) {
|
|| (strcasecmp(localeDescription, "C") == 0)) {
|
||||||
newObj->backend = NULL;
|
newObj->backend = NULL;
|
||||||
return (locale_t)newObj;
|
return (locale_t)newObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
LocaleBackend*& newBackend = newObj->backend;
|
LocaleBackend*& newBackend = newObj->backend;
|
||||||
LocaleDataBridge*& newDataBridge = newObj->databridge;
|
LocaleDataBridge*& newDataBridge = newObj->databridge;
|
||||||
|
|
||||||
status_t status = LocaleBackend::CreateBackend(newBackend);
|
status_t status = LocaleBackend::CreateBackend(newBackend);
|
||||||
|
|
||||||
if (newBackend == NULL) {
|
if (newBackend == NULL) {
|
||||||
errno = status;
|
errno = status;
|
||||||
delete newObj;
|
delete newObj;
|
||||||
return (locale_t)0;
|
return (locale_t)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
newDataBridge = new (std::nothrow) LocaleDataBridge(false);
|
newDataBridge = new (std::nothrow) LocaleDataBridge(false);
|
||||||
|
|
||||||
if (newDataBridge == NULL) {
|
if (newDataBridge == NULL) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
LocaleBackend::DestroyBackend(newBackend);
|
LocaleBackend::DestroyBackend(newBackend);
|
||||||
delete newObj;
|
delete newObj;
|
||||||
return (locale_t)0;
|
return (locale_t)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
newBackend->Initialize(newDataBridge);
|
newBackend->Initialize(newDataBridge);
|
||||||
|
|
||||||
// Skipping LC_ALL. Asking for LC_ALL would force the backend
|
// Skipping LC_ALL. Asking for LC_ALL would force the backend
|
||||||
// to query each other value once, anyway.
|
// to query each other value once, anyway.
|
||||||
for (int lc = 1; lc <= LC_LAST; ++lc) {
|
for (int lc = 1; lc <= LC_LAST; ++lc) {
|
||||||
newBackend->SetLocale(lc, backend->SetLocale(lc, NULL));
|
newBackend->SetLocale(lc, backend->SetLocale(lc, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
newObj->magic = LOCALE_T_MAGIC;
|
newObj->magic = LOCALE_T_MAGIC;
|
||||||
|
|
||||||
return (locale_t)newObj;
|
return (locale_t)newObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern "C" void
|
extern "C" void
|
||||||
freelocale(locale_t l)
|
freelocale(locale_t l)
|
||||||
{
|
{
|
||||||
LocaleBackendData* locobj = (LocaleBackendData*)l;
|
LocaleBackendData* locobj = (LocaleBackendData*)l;
|
||||||
|
|
||||||
if (locobj->backend) {
|
if (locobj->backend) {
|
||||||
LocaleBackend::DestroyBackend(locobj->backend);
|
LocaleBackend::DestroyBackend(locobj->backend);
|
||||||
LocaleDataBridge* databridge = locobj->databridge;
|
LocaleDataBridge* databridge = locobj->databridge;
|
||||||
delete databridge;
|
delete databridge;
|
||||||
}
|
}
|
||||||
delete locobj;
|
delete locobj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -137,9 +137,8 @@ newlocale(int category_mask, const char* locale, locale_t base)
|
|||||||
GetLocalesFromEnvironment(LC_ALL, locales);
|
GetLocalesFromEnvironment(LC_ALL, locales);
|
||||||
} else {
|
} else {
|
||||||
for (int lc = 1; lc <= LC_LAST; ++lc) {
|
for (int lc = 1; lc <= LC_LAST; ++lc) {
|
||||||
if (category_mask & (1 << (lc - 1))) {
|
if (category_mask & (1 << (lc - 1)))
|
||||||
GetLocalesFromEnvironment(lc, locales);
|
GetLocalesFromEnvironment(lc, locales);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -147,9 +146,8 @@ newlocale(int category_mask, const char* locale, locale_t base)
|
|||||||
locales[LC_ALL] = locale;
|
locales[LC_ALL] = locale;
|
||||||
}
|
}
|
||||||
for (int lc = 1; lc <= LC_LAST; ++lc) {
|
for (int lc = 1; lc <= LC_LAST; ++lc) {
|
||||||
if (category_mask & (1 << (lc - 1))) {
|
if (category_mask & (1 << (lc - 1)))
|
||||||
locales[lc] = locale;
|
locales[lc] = locale;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,28 +205,28 @@ newlocale(int category_mask, const char* locale, locale_t base)
|
|||||||
extern "C" locale_t
|
extern "C" locale_t
|
||||||
uselocale(locale_t newLoc)
|
uselocale(locale_t newLoc)
|
||||||
{
|
{
|
||||||
locale_t oldLoc = (locale_t)GetCurrentLocaleInfo();
|
locale_t oldLoc = (locale_t)GetCurrentLocaleInfo();
|
||||||
if (oldLoc == NULL) {
|
if (oldLoc == NULL) {
|
||||||
oldLoc = LC_GLOBAL_LOCALE;
|
oldLoc = LC_GLOBAL_LOCALE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newLoc != (locale_t)0) {
|
if (newLoc != (locale_t)0) {
|
||||||
// Avoid expensive TLS reads with a local variable.
|
// Avoid expensive TLS reads with a local variable.
|
||||||
locale_t appliedLoc = oldLoc;
|
locale_t appliedLoc = oldLoc;
|
||||||
|
|
||||||
if (newLoc == LC_GLOBAL_LOCALE) {
|
if (newLoc == LC_GLOBAL_LOCALE) {
|
||||||
appliedLoc = NULL;
|
appliedLoc = NULL;
|
||||||
} else {
|
} else {
|
||||||
if (((LocaleBackendData*)newLoc)->magic != LOCALE_T_MAGIC) {
|
if (((LocaleBackendData*)newLoc)->magic != LOCALE_T_MAGIC) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return (locale_t)0;
|
return (locale_t)0;
|
||||||
}
|
}
|
||||||
appliedLoc = newLoc;
|
appliedLoc = newLoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetCurrentLocaleInfo((LocaleBackendData*)appliedLoc);
|
SetCurrentLocaleInfo((LocaleBackendData*)appliedLoc);
|
||||||
|
|
||||||
if (appliedLoc != NULL) {
|
if (appliedLoc != NULL) {
|
||||||
LocaleDataBridge*& databridge = ((LocaleBackendData*)appliedLoc)->databridge;
|
LocaleDataBridge*& databridge = ((LocaleBackendData*)appliedLoc)->databridge;
|
||||||
// Happens when appliedLoc represents the C locale.
|
// Happens when appliedLoc represents the C locale.
|
||||||
if (databridge == NULL) {
|
if (databridge == NULL) {
|
||||||
@@ -255,12 +253,12 @@ uselocale(locale_t newLoc)
|
|||||||
backend->Initialize(databridge);
|
backend->Initialize(databridge);
|
||||||
}
|
}
|
||||||
databridge->ApplyToCurrentThread();
|
databridge->ApplyToCurrentThread();
|
||||||
} else {
|
} else {
|
||||||
gGlobalLocaleDataBridge.ApplyToCurrentThread();
|
gGlobalLocaleDataBridge.ApplyToCurrentThread();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return oldLoc;
|
return oldLoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user