aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icu4c-icu-22132-fix-vtimezone.patch
blob: 4fe520318a9f366c91e84961059e212f40554713 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Source: https://unicode-org.atlassian.net/browse/ICU-22132?focusedCommentId=166752
Author: Sean Burke
License:
Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1843007

diff --git a/icu4c/source/i18n/vtzone.cpp b/icu4c/source/i18n/vtzone.cpp
index 3035106701..5e738e11fa 100644
--- a/source/i18n/vtzone.cpp
+++ b/source/i18n/vtzone.cpp
@@ -1735,14 +1735,14 @@ VTimeZone::write(VTZWriter& writer, UErrorCode& status) const {
             }
         }
     } 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);
+            icutzprop->append(olsonzid);
+            icutzprop->append(u'[');
+            icutzprop->append(icutzver);
+            icutzprop->append(u']');
+            customProps.adoptElement(icutzprop.orphan(), status);
         }
         writeZone(writer, *tz, &customProps, status);
     }