summaryrefslogtreecommitdiffstats
path: root/intl/icu-patches/bug-1856291-ICU-22526-calendar-timezone-offset-limit.diff
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu-patches/bug-1856291-ICU-22526-calendar-timezone-offset-limit.diff')
-rw-r--r--intl/icu-patches/bug-1856291-ICU-22526-calendar-timezone-offset-limit.diff27
1 files changed, 27 insertions, 0 deletions
diff --git a/intl/icu-patches/bug-1856291-ICU-22526-calendar-timezone-offset-limit.diff b/intl/icu-patches/bug-1856291-ICU-22526-calendar-timezone-offset-limit.diff
new file mode 100644
index 0000000000..9f47ba0394
--- /dev/null
+++ b/intl/icu-patches/bug-1856291-ICU-22526-calendar-timezone-offset-limit.diff
@@ -0,0 +1,27 @@
+# Increase the minimum limit for time zone offsets to -24 hours to support
+# time zone offset strings like "-23:59".
+#
+# ICU bug: https://unicode-org.atlassian.net/browse/ICU-22526
+
+diff --git a/intl/icu/source/i18n/calendar.cpp b/intl/icu/source/i18n/calendar.cpp
+--- a/intl/icu/source/i18n/calendar.cpp
++++ b/intl/icu/source/i18n/calendar.cpp
+@@ -649,17 +649,17 @@ static const int32_t kCalendarLimits[UCA
+ { 1, 1, 7, 7 }, // DAY_OF_WEEK
+ {/*N/A*/-1, /*N/A*/-1, /*N/A*/-1, /*N/A*/-1}, // DAY_OF_WEEK_IN_MONTH
+ { 0, 0, 1, 1 }, // AM_PM
+ { 0, 0, 11, 11 }, // HOUR
+ { 0, 0, 23, 23 }, // HOUR_OF_DAY
+ { 0, 0, 59, 59 }, // MINUTE
+ { 0, 0, 59, 59 }, // SECOND
+ { 0, 0, 999, 999 }, // MILLISECOND
+- {-16*kOneHour, -16*kOneHour, 12*kOneHour, 30*kOneHour }, // ZONE_OFFSET
++ {-24*kOneHour, -16*kOneHour, 12*kOneHour, 30*kOneHour }, // ZONE_OFFSET
+ { -1*kOneHour, -1*kOneHour, 2*kOneHour, 2*kOneHour }, // DST_OFFSET
+ {/*N/A*/-1, /*N/A*/-1, /*N/A*/-1, /*N/A*/-1}, // YEAR_WOY
+ { 1, 1, 7, 7 }, // DOW_LOCAL
+ {/*N/A*/-1, /*N/A*/-1, /*N/A*/-1, /*N/A*/-1}, // EXTENDED_YEAR
+ { -0x7F000000, -0x7F000000, 0x7F000000, 0x7F000000 }, // JULIAN_DAY
+ { 0, 0, 24*kOneHour-1, 24*kOneHour-1 }, // MILLISECONDS_IN_DAY
+ { 0, 0, 1, 1 }, // IS_LEAP_MONTH
+ { 0, 0, 11, 11 } // ORDINAL_MONTH