From 4dcd60085ba5f506656f6141747e01d06d24500c Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 11 Jul 2024 10:48:27 -0400 Subject: [PATCH] ICUTimeData: Use kDefault instead of kFull for the datetime format. We already used it for the individual date and time formats, so it only makes sense to use it for the combined datetime format. This fixes failures to initialize datetime data for non-POSIX locales after the ICU upgrade, as the "full" format is now longer and contains characters such as U+202F (NARROW NO-BREAK SPACE) which result in the UTF-8 encoding being too large to fit in the fixed-size buffer. --- src/system/libroot/add-ons/icu/ICUTimeData.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/libroot/add-ons/icu/ICUTimeData.cpp b/src/system/libroot/add-ons/icu/ICUTimeData.cpp index 985f0f19f4..8dd1b858cb 100644 --- a/src/system/libroot/add-ons/icu/ICUTimeData.cpp +++ b/src/system/libroot/add-ons/icu/ICUTimeData.cpp @@ -135,7 +135,7 @@ ICUTimeData::SetTo(const Locale& locale, const char* posixLocaleName) if (result == B_OK) { try { DateFormat* format = DateFormat::createDateTimeInstance( - DateFormat::kFull, DateFormat::kFull, fLocale); + DateFormat::kDefault, DateFormat::kDefault, fLocale); result = _SetLCTimePattern(format, fDateTimeFormat, sizeof(fDateTimeFormat)); delete format;