scuffed-code/icu4c/source/i18n/unicode
Jeff Genovy 8edc6ba107
ICU-20042 Improve OOM handling in PluralRules class. (#20)
- PluralRules class doesn't handle out-of-memory (OOM) errors in some code paths.
- The clone and assignment operator (operator=) methods of construction don't take an error code  parameter, meaning that if an OOM error occurs during the constructor, it will not reported back to the caller, and the caller has no way to know that the object is in a half-constructed state.
- Using an internal status variable for these above cases.
- Changes to the various PluralRules helper classes to check for OOM as well.
- Using nullptr instead NULL.
- Using LocalPointer instead of raw new/delete in some cases.
- Need to set mRules to nullptr, otherwise we can end up with double deletes in the failure case. (Thanks to Andy for the review).
- Using default member initializers for class members to avoid dangling pointers. Also allows for using default constructors too.
2018-09-27 14:27:37 -07:00
..
alphaindex.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
basictz.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
calendar.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
choicfmt.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
coleitr.h ICU-12410 class Edits, class CaseMap with new low-level functions that work with Edits, simpler case properties code, some cleanup 2017-02-17 21:03:35 +00:00
coll.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
compactdecimalformat.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
curramt.h ICU-12992 return raw pointers not pointer wrappers 2017-03-03 22:42:52 +00:00
currpinf.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
currunit.h ICU-13634 Fixing address sanitizer issue involving backwards-compatible UChar* behavior in CurrencyUnit constructor. The string passed to the constructor need not be NUL-terminated. 2018-04-19 01:13:17 +00:00
datefmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
dcfmtsym.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
decimfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
dtfmtsym.h ICU-13053 Make UCONFIG_NO_BREAK_ITERATION flag work without errors or failures. 2017-03-27 18:22:11 +00:00
dtitvfmt.h ICU-12992 s/UChar/char16_t/g in public C++ header files 2017-03-01 23:55:58 +00:00
dtitvinf.h ICU-13358 ICU 60rc BRS, update U_HIDE_ conditionals 2017-10-06 07:26:01 +00:00
dtptngen.h ICU-13778 DataTimePatternGenerator code refactor. Handle Out-of-Memory (OOM) errors, use LocalPointer to prevent memory leaks when OOM occurs, use an internal error code to better report errors during clone and copy construction, mark helper methods and parameters as const, use nullptr instead of NULL, minor spelling and formatting changes. (Note: All tests pass on Windows and Linux). 2018-06-27 19:25:52 +00:00
dtrule.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
fieldpos.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
fmtable.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
format.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
fpositer.h ICU-13763 Makes FieldPositionIterator offset by input string length in DecimalFormat, restoring ICU 61 behavior. 2018-05-23 21:08:53 +00:00
gender.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
gregocal.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
measfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
measunit.h ICU-13667 ICU 62rc BRS, update measurement unit constants 2018-05-30 01:22:52 +00:00
measure.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
msgfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
nounit.h ICU-13667 LocalizedNumberFormatterAsFormat is in the old Format class hierarchy, add ClassID boilerplate; NoUnit move virtual destructor up into first-virtual position, right after constructors 2018-05-30 19:15:02 +00:00
numberformatter.h ICU-13667 Making =delete APIdocs consistent in numberformatter.h 2018-05-31 22:04:08 +00:00
numfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
numsys.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
plurfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
plurrule.h ICU-20042 Improve OOM handling in PluralRules class. (#20) 2018-09-27 14:27:37 -07:00
rbnf.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
rbtz.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
regex.h ICU-12992 s/UChar/char16_t/g in public C++ header files 2017-03-01 23:55:58 +00:00
region.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
reldatefmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
scientificnumberformatter.h ICU-13697 Adding data-loading logic for parseLenients sets in CLDR. Ties the sets in with number and currency parsing in ICU4C and ICU4J. 2018-04-12 10:59:37 +00:00
search.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
selfmt.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
simpletz.h ICU-13566 Support negative daylight savings in SimpleTimeZone. 2018-02-20 22:38:21 +00:00
smpdtfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
sortkey.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
stsearch.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
tblcoll.h ICU-12992 s/UChar/char16_t/g in public C++ header files 2017-03-01 23:55:58 +00:00
timezone.h ICU-13300 Added thread safety note to TimeZone::detectHostTimeZone(). 2018-05-21 00:39:51 +00:00
tmunit.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
tmutamt.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
tmutfmt.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
translit.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
tzfmt.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
tznames.h ICU-13358 ICU 60rc BRS, update U_HIDE_ conditionals 2017-10-06 07:26:01 +00:00
tzrule.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
tztrans.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
ucal.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
ucol.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
ucoleitr.h ICU-13313 Fix ucol_next/prev docs to use UCOL_NULLORDER, not NULLORDER 2017-10-09 06:40:55 +00:00
ucsdet.h ICU-12764 UTF-8 source files, update file encoding comments. 2017-02-03 18:57:23 +00:00
udat.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
udateintervalformat.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
udatpg.h ICU-12740 getFieldDisplayName C/C++ initial implementation & C tests; TODO: C++ tests and Java imp 2018-02-15 08:38:20 +00:00
ufieldpositer.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
uformattable.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
ugender.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
ulocdata.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
umsg.h ICU-12764 UTF-8 source files, update file encoding comments. 2017-02-03 18:57:23 +00:00
unirepl.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
unum.h ICU-13634 Changes from pre-merge code light-review. 2018-04-24 01:19:44 +00:00
unumberformatter.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
unumsys.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00
upluralrules.h ICU-13607 ICU4C 61 API promotion 2018-03-01 05:54:24 +00:00
uregex.h ICU-12764 UTF-8 source files, update file encoding comments. 2017-02-03 18:57:23 +00:00
uregion.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
ureldatefmt.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
usearch.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
uspoof.h ICU-13810 Doxygen warning cleanup. 2018-09-27 14:27:37 -07:00
utmscale.h ICU-13005 ICU 59rc BRS, finish cleanup of C status tags and U_HIDE_ conditionals 2017-03-29 04:44:37 +00:00
utrans.h ICU-12907 UReplaceableCallbacks* should have const in C transliterate API 2018-02-09 06:43:50 +00:00
vtzone.h ICU-12764 icu4c utf-8 source files, update Copyright notices. 2017-01-20 00:20:31 +00:00