summaryrefslogtreecommitdiffstats
path: root/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff')
-rw-r--r--intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff28
1 files changed, 28 insertions, 0 deletions
diff --git a/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff b/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff
new file mode 100644
index 0000000000..e31f02d637
--- /dev/null
+++ b/intl/icu-patches/bug-1790071-ICU-22132-standardize-vtzone-output.diff
@@ -0,0 +1,28 @@
+diff --git a/intl/icu/source/i18n/vtzone.cpp b/intl/icu/source/i18n/vtzone.cpp
+--- a/intl/icu/source/i18n/vtzone.cpp
++++ b/intl/icu/source/i18n/vtzone.cpp
+@@ -1735,14 +1735,17 @@ VTimeZone::write(VTZWriter& writer, UErr
+ }
+ }
+ } else {
+- UnicodeString icutzprop;
+- UVector customProps(nullptr, uhash_compareUnicodeString, status);
++ UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status);
+ if (olsonzid.length() > 0 && icutzver.length() > 0) {
+- icutzprop.append(olsonzid);
+- icutzprop.append(u'[');
+- icutzprop.append(icutzver);
+- icutzprop.append(u']');
+- customProps.addElement(&icutzprop, status);
++ LocalPointer<UnicodeString> icutzprop(new UnicodeString(ICU_TZINFO_PROP), status);
++ if (U_FAILURE(status)) {
++ return;
++ }
++ icutzprop->append(olsonzid);
++ icutzprop->append(u'[');
++ icutzprop->append(icutzver);
++ icutzprop->append(u']');
++ customProps.adoptElement(icutzprop.orphan(), status);
+ }
+ writeZone(writer, *tz, &customProps, status);
+ }