ICU-20831 Make *fCapitalizationBrkIter const, eliminating a data race in SimpleDateFormat::format.

This commit is contained in:
Robin Leroy 2019-09-24 17:38:26 +02:00 committed by pedberg-icu
parent 1f4a77cbc1
commit 4f72eea026
2 changed files with 4 additions and 2 deletions

View file

@ -1981,9 +1981,11 @@ SimpleDateFormat::subFormat(UnicodeString &appendTo,
break;
}
if (titlecase) {
BreakIterator* const mutableCapitalizationBrkIter = fCapitalizationBrkIter->clone();
UnicodeString firstField(appendTo, beginOffset);
firstField.toTitle(fCapitalizationBrkIter, fLocale, U_TITLECASE_NO_LOWERCASE | U_TITLECASE_NO_BREAK_ADJUSTMENT);
firstField.toTitle(mutableCapitalizationBrkIter, fLocale, U_TITLECASE_NO_LOWERCASE | U_TITLECASE_NO_BREAK_ADJUSTMENT);
appendTo.replaceBetween(beginOffset, appendTo.length(), firstField);
delete mutableCapitalizationBrkIter;
}
}
#endif

View file

@ -1645,7 +1645,7 @@ private:
UBool fHaveDefaultCentury;
BreakIterator* fCapitalizationBrkIter;
const BreakIterator* fCapitalizationBrkIter;
};
inline UDate