diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2013-04-25 22:19:02 -0700 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-30 17:21:21 +0200 |
commit | 50ab31a5dfe491510e194e58075b648fd0b47e6a (patch) | |
tree | b3281a508a8f7da9b9f85514a3bcdb23e2f0f125 /src/corelib/tools/qlocale.cpp | |
parent | 600c538cd6001c6729d5a7dd687d2ad42bf6a7de (diff) |
QLocalePrivate: remove QLocalePrivate::m_index
It's not used anywhere, so we don't need to cache the locale data
index. We already have the pointer to the QLocaleData anyway.
This saves us a few roundtrips calculating the index from the data
pointer only to get the data pointer again.
Change-Id: I6905d20a382ddcb9fb04cc886a17499b467f905a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Diffstat (limited to 'src/corelib/tools/qlocale.cpp')
-rw-r--r-- | src/corelib/tools/qlocale.cpp | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 27ad847611..a8b2b9fedb 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -699,45 +699,30 @@ const QLocaleData *QLocalePrivate::dataPointerForIndex(quint16 index) return &locale_data[index]; } -static quint16 localeDataIndex(const QLocaleData *p) -{ -#ifndef QT_NO_SYSTEMLOCALE - Q_ASSERT((p >= locale_data && p - locale_data < locale_data_size) - || (p != 0 && p == system_data)); - quint16 index = p == system_data ? locale_data_size : p - locale_data; -#else - Q_ASSERT(p >= locale_data && p - locale_data < locale_data_size); - quint16 index = p - locale_data; -#endif - - return index; -} static QLocalePrivate *localePrivateByName(const QString &name) { - return new QLocalePrivate(localeDataIndex(findLocaleData(name))); + return new QLocalePrivate(findLocaleData(name)); } static QLocalePrivate *defaultLocalePrivate() { - return new QLocalePrivate(localeDataIndex(defaultData()), default_number_options); + return new QLocalePrivate(defaultData(), default_number_options); } static QLocalePrivate *findLocalePrivate(QLocale::Language language, QLocale::Script script, QLocale::Country country) { const QLocaleData *data = QLocaleData::findLocaleData(language, script, country); - int index; + int numberOptions = 0; // If not found, should default to system if (data->m_language_id == QLocale::C && language != QLocale::C) { numberOptions = default_number_options; - index = localeDataIndex(defaultData()); - } else { - index = localeDataIndex(data); + data = defaultData(); } - return new QLocalePrivate(index, numberOptions); + return new QLocalePrivate(data, numberOptions); } @@ -2123,7 +2108,7 @@ QString QLocale::toString(double i, char f, int prec) const QLocale QLocale::system() { - return QLocale(*new QLocalePrivate(localeDataIndex(systemData()))); + return QLocale(*new QLocalePrivate(systemData())); } @@ -2158,7 +2143,7 @@ QList<QLocale> QLocale::matchingLocales(QLocale::Language language, && (language == QLocale::AnyLanguage || data->m_language_id == uint(language))) { if ((script == QLocale::AnyScript || data->m_script_id == uint(script)) && (country == QLocale::AnyCountry || data->m_country_id == uint(country))) { - QLocale locale(*new QLocalePrivate(localeDataIndex(data))); + QLocale locale(*new QLocalePrivate(data)); result.append(locale); } ++data; |