34 lines
1.4 KiB
Diff
34 lines
1.4 KiB
Diff
Patch-Source: https://github.com/chimera-linux/cports/blob/c48ec38c2d88f6e5962299583a8f862159c89349/main/icu/patches/standardize-vtzone-output.patch
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1790071
|
|
https://unicode-org.atlassian.net/browse/ICU-22132
|
|
needed for thunderbird
|
|
--
|
|
diff --git a/intl/icu/source/i18n/vtzone.cpp b/intl/icu/source/i18n/vtzone.cpp
|
|
--- a/source/i18n/vtzone.cpp
|
|
+++ b/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);
|
|
}
|