From a527ab6652edb3af1882cd08fa9fca92d835a4a6 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Thu, 2 Nov 2023 11:10:16 +0100 Subject: [PATCH] QLocale/MS: polish some arrays and their access The arrays can be constexpr, and we can avoid some repetition by making only the choice of which to look in conditional, when we do the same thing thereafter. Change-Id: I8c9f95b3967017cf67a76de9d2a7a8729ee430f0 Reviewed-by: Thiago Macieira --- src/corelib/text/qlocale_win.cpp | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/corelib/text/qlocale_win.cpp b/src/corelib/text/qlocale_win.cpp index 94ba0df983..d14cadffef 100644 --- a/src/corelib/text/qlocale_win.cpp +++ b/src/corelib/text/qlocale_win.cpp @@ -336,40 +336,37 @@ QVariant QSystemLocalePrivate::dayName(int day, QLocale::FormatType type) if (day < 1 || day > 7) return {}; - static const LCTYPE short_day_map[] + static constexpr LCTYPE short_day_map[] = { LOCALE_SABBREVDAYNAME1, LOCALE_SABBREVDAYNAME2, LOCALE_SABBREVDAYNAME3, LOCALE_SABBREVDAYNAME4, LOCALE_SABBREVDAYNAME5, LOCALE_SABBREVDAYNAME6, LOCALE_SABBREVDAYNAME7 }; - static const LCTYPE long_day_map[] + static constexpr LCTYPE long_day_map[] = { LOCALE_SDAYNAME1, LOCALE_SDAYNAME2, LOCALE_SDAYNAME3, LOCALE_SDAYNAME4, LOCALE_SDAYNAME5, LOCALE_SDAYNAME6, LOCALE_SDAYNAME7 }; - static const LCTYPE narrow_day_map[] + static constexpr LCTYPE narrow_day_map[] = { LOCALE_SSHORTESTDAYNAME1, LOCALE_SSHORTESTDAYNAME2, LOCALE_SSHORTESTDAYNAME3, LOCALE_SSHORTESTDAYNAME4, LOCALE_SSHORTESTDAYNAME5, LOCALE_SSHORTESTDAYNAME6, LOCALE_SSHORTESTDAYNAME7 }; - day -= 1; - - if (type == QLocale::LongFormat) - return nullIfEmpty(getLocaleInfo(long_day_map[day]).toString()); - if (type == QLocale::NarrowFormat) - return nullIfEmpty(getLocaleInfo(narrow_day_map[day]).toString()); - return nullIfEmpty(getLocaleInfo(short_day_map[day]).toString()); + return nullIfEmpty(getLocaleInfo( + (type == QLocale::LongFormat ? long_day_map + : type == QLocale::NarrowFormat ? narrow_day_map + : short_day_map)[day - 1]).toString()); } QVariant QSystemLocalePrivate::standaloneMonthName(int month, QLocale::FormatType type) { - static const LCTYPE short_month_map[] + static constexpr LCTYPE short_month_map[] = { LOCALE_SABBREVMONTHNAME1, LOCALE_SABBREVMONTHNAME2, LOCALE_SABBREVMONTHNAME3, LOCALE_SABBREVMONTHNAME4, LOCALE_SABBREVMONTHNAME5, LOCALE_SABBREVMONTHNAME6, LOCALE_SABBREVMONTHNAME7, LOCALE_SABBREVMONTHNAME8, LOCALE_SABBREVMONTHNAME9, LOCALE_SABBREVMONTHNAME10, LOCALE_SABBREVMONTHNAME11, LOCALE_SABBREVMONTHNAME12 }; - static const LCTYPE long_month_map[] + static constexpr LCTYPE long_month_map[] = { LOCALE_SMONTHNAME1, LOCALE_SMONTHNAME2, LOCALE_SMONTHNAME3, LOCALE_SMONTHNAME4, LOCALE_SMONTHNAME5, LOCALE_SMONTHNAME6, LOCALE_SMONTHNAME7, LOCALE_SMONTHNAME8, LOCALE_SMONTHNAME9,