bug-1790071-ICU-22132-standardize-vtzone-output.diff (1205B)
1 diff --git a/intl/icu/source/i18n/vtzone.cpp b/intl/icu/source/i18n/vtzone.cpp 2 --- a/intl/icu/source/i18n/vtzone.cpp 3 +++ b/intl/icu/source/i18n/vtzone.cpp 4 @@ -1735,14 +1735,17 @@ VTimeZone::write(VTZWriter& writer, UErr 5 } 6 } 7 } else { 8 - UnicodeString icutzprop; 9 - UVector customProps(nullptr, uhash_compareUnicodeString, status); 10 + UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status); 11 if (olsonzid.length() > 0 && icutzver.length() > 0) { 12 - icutzprop.append(olsonzid); 13 - icutzprop.append(u'['); 14 - icutzprop.append(icutzver); 15 - icutzprop.append(u']'); 16 - customProps.addElement(&icutzprop, status); 17 + LocalPointer<UnicodeString> icutzprop(new UnicodeString(ICU_TZINFO_PROP), status); 18 + if (U_FAILURE(status)) { 19 + return; 20 + } 21 + icutzprop->append(olsonzid); 22 + icutzprop->append(u'['); 23 + icutzprop->append(icutzver); 24 + icutzprop->append(u']'); 25 + customProps.adoptElement(icutzprop.orphan(), status); 26 } 27 writeZone(writer, *tz, &customProps, status); 28 }