From 9ef26bec1de39a3e80c7ff49b170afed31426862 Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Wed, 3 May 2023 15:48:20 -0300 Subject: [PATCH] Use nullptr instead of static vector. Signed-off-by: Viktor Govako --- coding/string_utf8_multilang.cpp | 7 +++---- coding/string_utf8_multilang.hpp | 4 ++-- coding/transliteration.cpp | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/coding/string_utf8_multilang.cpp b/coding/string_utf8_multilang.cpp index db5bd485a8..7415f7a43a 100644 --- a/coding/string_utf8_multilang.cpp +++ b/coding/string_utf8_multilang.cpp @@ -143,13 +143,12 @@ char const * StringUtf8Multilang::GetLangNameByCode(int8_t langCode) } // static -vector const & StringUtf8Multilang::GetTransliteratorsIdsByCode(int8_t langCode) +vector const * StringUtf8Multilang::GetTransliteratorsIdsByCode(int8_t langCode) { - static const vector empty; if (!IsSupportedLangCode(langCode)) - return empty; + return nullptr; - return kLanguages[langCode].m_transliteratorsIds; + return &kLanguages[langCode].m_transliteratorsIds; } size_t StringUtf8Multilang::GetNextIndex(size_t i) const diff --git a/coding/string_utf8_multilang.hpp b/coding/string_utf8_multilang.hpp index f5a3cd36fd..48d4109d3d 100644 --- a/coding/string_utf8_multilang.hpp +++ b/coding/string_utf8_multilang.hpp @@ -98,8 +98,8 @@ public: static char const * GetLangByCode(int8_t langCode); /// @returns empty string if langCode is invalid. static char const * GetLangNameByCode(int8_t langCode); - /// @returns empty vector if langCode is invalid. - static std::vector const & GetTransliteratorsIdsByCode(int8_t langCode); + /// @returns nullptr if langCode is invalid. + static std::vector const * GetTransliteratorsIdsByCode(int8_t langCode); inline bool operator==(StringUtf8Multilang const & rhs) const { return m_s == rhs.m_s; } inline bool operator!=(StringUtf8Multilang const & rhs) const { return !(*this == rhs); } diff --git a/coding/transliteration.cpp b/coding/transliteration.cpp index ad4f607ce2..675ebc1646 100644 --- a/coding/transliteration.cpp +++ b/coding/transliteration.cpp @@ -142,12 +142,12 @@ bool Transliteration::Transliterate(std::string_view sv, int8_t langCode, if (sv.empty() || strings::IsASCIIString(sv)) return false; - auto const & transliteratorsIds = StringUtf8Multilang::GetTransliteratorsIdsByCode(langCode); - if (transliteratorsIds.empty()) + auto const * transliteratorsIds = StringUtf8Multilang::GetTransliteratorsIdsByCode(langCode); + if (transliteratorsIds == nullptr || transliteratorsIds->empty()) return false; icu::UnicodeString ustr(sv.data(), static_cast(sv.size())); - for (auto const & id : transliteratorsIds) + for (auto const & id : *transliteratorsIds) Transliterate(id, ustr); if (ustr.isEmpty())