Jan Engelhardt
53923606b4
- update to 71.1: * updates to CLDR 41 locale data with various additions and corrections. * phrase-based line breaking for Japanese. Existing line breaking methods follow standards and conventions for body text but do not work well for short Japanese text, such as in titles and headings. This new feature is optimized for these use cases. * support for Hindi written in Latin letters (hi_Latn). The CLDR data for this increasingly popular locale has been significantly revised and expanded. Note that based on user expectations, hi_Latn incorporates a large amount of English, and can also be referred to as “Hinglish”. * time zone data updated to version 2022a. Note that pre-1970 data for a number of time zones has been removed, as has been the case in the upstream tzdata release since 2021b. - drop fix-ucptrietest-golden-diff.patch (upstream) OBS-URL: https://build.opensuse.org/request/show/968076 OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=155
23 lines
890 B
Diff
23 lines
890 B
Diff
From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schwab <schwab@suse.de>
|
|
Date: Tue, 11 May 2021 19:04:24 +0200
|
|
Subject: [PATCH] ICU-21613 Fix undefined behaviour in
|
|
ComplexUnitsConverter::applyRounder
|
|
|
|
Index: icu/source/i18n/units_complexconverter.cpp
|
|
===================================================================
|
|
--- icu.orig/source/i18n/units_complexconverter.cpp
|
|
+++ icu/source/i18n/units_complexconverter.cpp
|
|
@@ -242,6 +242,11 @@ void ComplexUnitsConverter::applyRounder
|
|
}
|
|
quantity = decimalQuantity.toDouble();
|
|
|
|
+ if (uprv_isNaN(quantity) || uprv_isInfinite(quantity)) {
|
|
+ // Do nothing for non-finite values, since conversion to int64_t is undefined
|
|
+ return;
|
|
+ }
|
|
+
|
|
int32_t lastIndex = unitsConverters_.length() - 1;
|
|
if (lastIndex == 0) {
|
|
// Only one element, no need to bubble up the carry
|