Jeff Genovy
c9573ab075
ICU-20046 Improve OOM error checking in the RBNF class. ( #24 )
...
- There are a few locations in the RBNF class that don't check for out-of-memory (OOM) failures.
- Using LocalPointer to clean up the manual deletes.
- Change to use nullptr instead of NULL.
- A few minor typo fixes as well.
2018-09-27 14:27:37 -07:00
Jeff Genovy
d07396f94d
ICU-20041 Improve handling of OOM failures in NumberingSystem class. ( #19 )
...
ICU-20041 ICU4C NumberingSystem class doesn't handle out-of-memory (OOM) failures.
- Not all code paths in the NumberingSystem class check for OOM failures. This can lead to crashes in some cases as null pointers will be dereferenced without any checks.
- Change to use nullptr instead of NULL.
- Don't stomp on OOM errors when attempting to load resources. We should report back OOM to the caller.
- Use LocalPointer in order simplify the code and for automatic clean-up of memory.
- Use LocalUResourceBundlePointer as well to help simply things even more.
2018-09-27 14:27:37 -07:00
Jeff Genovy
3712aa3d6e
ICU-13810 Fix typo in datefmt.h macro. ( #36 )
2018-09-27 14:27:37 -07:00
Jeff Genovy
a9a19fc229
ICU-20044 Fix some OOM issues in the NumberFormat class. ( #21 )
2018-09-27 14:27:37 -07:00
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
Andy Heninger
35ce5296c1
ICU-13810 Doxygen warning cleanup.
2018-09-27 14:27:37 -07:00
Jeff Genovy
b12a927c93
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).
...
X-SVN-Rev: 41552
2018-06-27 19:25:52 +00:00
Shane Carr
4bc6ad328b
ICU-13850 Fixing behavior of ICU4C DecimalFormat#setCurrency() to accept an empty string.
...
X-SVN-Rev: 41549
2018-06-23 02:09:42 +00:00
Shane Carr
3f7a4aa202
ICU-13840 Fixing memory overflow issue in number_decimalquantity.cpp and adding tests.
...
X-SVN-Rev: 41541
2018-06-19 21:52:52 +00:00
Peter Edberg
733e363203
ICU-13823 ICU 62.1 BRS, update measurement unit constants for release-33-1-d03 (deletes VES)
...
X-SVN-Rev: 41528
2018-06-15 01:12:52 +00:00
Shane Carr
ba800ab7bd
ICU-13835 Fixing C++17 compiler error.
...
X-SVN-Rev: 41523
2018-06-14 20:29:11 +00:00
Fredrik Roubert
1af5762873
ICU-13818 Add virtual destructor for class TokenConsumer.
...
X-SVN-Rev: 41519
2018-06-13 17:00:44 +00:00
Andy Heninger
04d300adeb
ICU-13828 DecimalFormat Error Code handling cleanups.
...
X-SVN-Rev: 41515
2018-06-11 03:56:58 +00:00
Andy Heninger
2f534730c9
ICU-13816 Windows compiler warning fix.
...
X-SVN-Rev: 41504
2018-06-04 21:04:14 +00:00
Andy Heninger
c0f9d2eeef
ICU-13807 ICU 62 No Data Testing fixes. Mostly to test code.
...
X-SVN-Rev: 41500
2018-06-01 01:19:38 +00:00
Shane Carr
dd7667d330
ICU-13804 Making number parsing code more robust when given empty symbol strings.
...
X-SVN-Rev: 41497
2018-06-01 00:31:54 +00:00
Shane Carr
08134fc59e
ICU-13667 Making =delete APIdocs consistent in numberformatter.h
...
X-SVN-Rev: 41495
2018-05-31 22:04:08 +00:00
Shane Carr
404a06a0f8
ICU-13667 Fixing incorrect version tag on scale() setter.
...
X-SVN-Rev: 41493
2018-05-31 21:32:35 +00:00
Shane Carr
6b7022632b
ICU-13667 Making new DecimalFormat constructor private.
...
X-SVN-Rev: 41489
2018-05-30 21:27:07 +00:00
Markus Scherer
438f1f363b
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
...
X-SVN-Rev: 41487
2018-05-30 19:15:02 +00:00
Peter Edberg
16519f2643
ICU-13667 ICU 62rc BRS, update guard conditionals for non-stable API part 1 (i18n pass 1)
...
X-SVN-Rev: 41486
2018-05-30 18:39:29 +00:00
Norbert Runge
781154c113
ICU-13667 Moves digits_t, DEFAULT_THRESHOLD, and copyErrorTo() outside of U_HIDE_INTERNAL_API.
...
X-SVN-Rev: 41485
2018-05-30 14:40:13 +00:00
Shane Carr
29937704cd
ICU-8610 Responding to number skeleton code review feedback.
...
X-SVN-Rev: 41483
2018-05-30 03:34:41 +00:00
Peter Edberg
8d17fb0e1b
ICU-13667 ICU 62rc BRS, update measurement unit constants
...
X-SVN-Rev: 41481
2018-05-30 01:22:52 +00:00
Jeff Genovy
b6a793bafd
ICU-13788 Fixing issue with accidental UErrorCode conversion to UBool.
...
X-SVN-Rev: 41472
2018-05-29 01:59:42 +00:00
Jeff Genovy
1662340d17
ICU-13788 Remove trailing semicolon that causes compiler warning.
...
X-SVN-Rev: 41471
2018-05-27 03:08:42 +00:00
Jeff Genovy
d23af4f072
ICU-13788 Fix compiler error C4251 on Windows (MSVC, Clang, MinGW).
...
X-SVN-Rev: 41470
2018-05-27 03:07:57 +00:00
Jeff Genovy
530744ae3b
ICU-13667 Update filters for VS project file for numberformatter.
...
X-SVN-Rev: 41469
2018-05-26 19:23:18 +00:00
Markus Scherer
c6c8b7201a
ICU-13630 update spoof checker inclusion/recommended sets from Unicode 9 to Unicode 11
...
X-SVN-Rev: 41466
2018-05-25 23:39:01 +00:00
Shane Carr
c3c21d1fe9
ICU-13788 Fixing number_decimfmtprops C++ dependency issue.
...
X-SVN-Rev: 41465
2018-05-25 22:54:48 +00:00
Shane Carr
0b1aa193fc
ICU-13788 Fixing numparse_impl C++ dependency issues.
...
X-SVN-Rev: 41464
2018-05-25 21:29:59 +00:00
Jeff Genovy
f23cbfa975
ICU-13667 Update ICU4C version number for 62.1 release candidate.
...
X-SVN-Rev: 41463
2018-05-25 21:29:10 +00:00
Markus Scherer
d8f9a47637
ICU-13667 update/fix/improve dependencies; better layering formatting->numberparser->numberformatter->number_representation
...
X-SVN-Rev: 41461
2018-05-25 17:57:30 +00:00
Jeff Genovy
87122b9084
ICU-13775 Fix build issues on MinGW and Clang-for-Windows (with exported template instantiations).
...
X-SVN-Rev: 41460
2018-05-25 07:27:56 +00:00
Shane Carr
bf977d1acc
ICU-13788 Minor coverity fixes for number code.
...
X-SVN-Rev: 41459
2018-05-25 03:01:38 +00:00
Shane Carr
4beed11456
ICU-13722 Removing obsolete constructs FmtStackData and UCONFIG_FORMAT_FASTPATHS_49.
...
X-SVN-Rev: 41457
2018-05-25 00:26:00 +00:00
Shane Carr
79b8248092
ICU-13677 Fixing up apidoc strings for precision setting.
...
X-SVN-Rev: 41456
2018-05-24 21:28:11 +00:00
Peter Edberg
5b3c14c29d
ICU-12936 Make RelativeDateTimeFormatter handle offset of -0
...
X-SVN-Rev: 41451
2018-05-24 05:52:01 +00:00
Shane Carr
8e1dc1f3b1
ICU-13736 Change number parsing to require locale currency when using non-currency parse function.
...
X-SVN-Rev: 41450
2018-05-24 04:35:16 +00:00
Shane Carr
6f50303084
ICU-13788 Fixing data types in numparse_decimal.cpp; should fix MSVC test failure.
...
X-SVN-Rev: 41443
2018-05-23 21:59:30 +00:00
Shane Carr
2af33b7796
ICU-13763 Makes FieldPositionIterator offset by input string length in DecimalFormat, restoring ICU 61 behavior.
...
X-SVN-Rev: 41442
2018-05-23 21:08:53 +00:00
Shane Carr
0c8fed6bde
ICU-13717 During SimpleDateFormat#parseInt, avoid cloning the DecimalFormat unless necessary.
...
X-SVN-Rev: 41440
2018-05-23 04:21:24 +00:00
Shane Carr
d0d8535066
ICU-13717 Adds fast path for RBNF, which is not affect by min/max integer digits.
...
X-SVN-Rev: 41439
2018-05-23 04:03:19 +00:00
Shane Carr
4931366afe
ICU-13717 Adds "fast formatters" optimization to smpdtfmt.cpp to greatly improve the performance of SimpleDateFormat with the new number formatting pipeline.
...
X-SVN-Rev: 41438
2018-05-23 02:00:03 +00:00
Shane Carr
3e2bbc9834
ICU-13717 Fixes memory leak in date format parsing by moving cloning into the parseInt function.
...
X-SVN-Rev: 41437
2018-05-23 01:18:07 +00:00
Shane Carr
25d6d69068
ICU-13717 Moves NumberFormat cloning into the zeroPaddingNumber method. Also indirectly fixes a memory leak from the previous commit.
...
X-SVN-Rev: 41436
2018-05-23 01:04:17 +00:00
Shane Carr
eb1f330d3d
ICU-13717 Removing SimpleDateFormatMutableNFs. Temporary performance regression.
...
X-SVN-Rev: 41434
2018-05-22 22:42:13 +00:00
Shane Carr
7d627ba160
ICU-13717 Refactoring UDAT_FRACTIONAL_SECOND_FIELD to use zeroPaddingNumber for consistency with all other number formatting call sites in smpdtfmt.cpp
...
X-SVN-Rev: 41433
2018-05-22 22:21:59 +00:00
Shane Carr
c2412adb1e
ICU-11626 Fixes ICU4C CurrencyPluralInfo unit tests. Also fixes a memory leak in CurrencyPluralInfo implementation.
...
X-SVN-Rev: 41431
2018-05-22 20:47:19 +00:00
Shane Carr
0a2aeb017a
ICU-13333 Adding combining dot spoof check.
...
X-SVN-Rev: 41428
2018-05-22 02:47:31 +00:00
Shane Carr
33a0fa7172
ICU-13783 Re-writing grouping parsing logic. Same behavior but passes more corner cases.
...
X-SVN-Rev: 41427
2018-05-22 02:46:49 +00:00
Yoshito Umaoka
c5437c6e00
ICU-13300 Added thread safety note to TimeZone::detectHostTimeZone().
...
X-SVN-Rev: 41421
2018-05-21 00:39:51 +00:00
Yoshito Umaoka
9cc7d14b62
ICU-13602 Check error status for lazily instantiated TiemZoneFormat in SimpleDateFormat.
...
X-SVN-Rev: 41413
2018-05-19 00:18:25 +00:00
Shane Carr
b1508d753b
ICU-11230 Change number parsing to require at least 2 digits in a group after the first group.
...
X-SVN-Rev: 41407
2018-05-18 00:52:43 +00:00
Shane Carr
d7f3471733
ICU-13757 Renaming skeleton methods fromSkeleton -> forSkeleton
...
X-SVN-Rev: 41393
2018-05-17 00:43:12 +00:00
Shane Carr
2e2805df9a
ICU-13697 Renaming numparse_unisets.h to static_unicode_sets.h and refactoring to guarantee safety in no-data builds.
...
X-SVN-Rev: 41389
2018-05-16 22:46:40 +00:00
Jeff Genovy
523cbcd1dc
ICU-13773 Double free in uspoof_openFromSerialized, plus other memory related fixes.
...
X-SVN-Rev: 41386
2018-05-16 20:38:05 +00:00
Shane Carr
955e0d9319
ICU-11897 Changing kPatternSeparatorSymbol to be a constant ";" and not loaded from data.
...
X-SVN-Rev: 41380
2018-05-16 01:01:22 +00:00
Shane Carr
cb34c90168
ICU-13737 Backpedaling on strict mode scientific parsing behavior change (do NOT require an exponent when parsing).
...
X-SVN-Rev: 41378
2018-05-15 21:14:09 +00:00
Shane Carr
b347a140ec
ICU-13742 Implementing number skeletons in MessageFormat.
...
X-SVN-Rev: 41377
2018-05-15 00:05:04 +00:00
Shane Carr
c3fa4e91b5
ICU-12931 Removing erroneous #ifdef U_HIDE_INTERNAL_API in numfmt.h
...
X-SVN-Rev: 41376
2018-05-14 23:38:13 +00:00
Jeff Genovy
fd1b5db09c
ICU-13725 Fix whitespace (tabs to spaces).
...
X-SVN-Rev: 41374
2018-05-13 22:25:06 +00:00
Jeff Genovy
31ead7f739
ICU-13725 Fix a few more MSVC warnings.
...
X-SVN-Rev: 41368
2018-05-09 07:51:43 +00:00
Shane Carr
f86a35be55
ICU-13644 Returning bogus string when toSkeleton() fails.
...
X-SVN-Rev: 41367
2018-05-09 02:26:14 +00:00
Shane Carr
3eb414943e
ICU-13662 Minor fixes after r41365.
...
X-SVN-Rev: 41366
2018-05-09 02:04:21 +00:00
Shane Carr
fb94a3eb76
ICU-13662 Replying to code review feedback.
...
X-SVN-Rev: 41365
2018-05-09 02:00:22 +00:00
Shane Carr
3275a9c5d3
ICU-13437 Adding makeBogusString() utility function and returning bogus strings on failed FormattedNumber toString() calls.
...
X-SVN-Rev: 41361
2018-05-08 21:52:26 +00:00
Shane Carr
3afec22e3a
ICU-13677 Fixing typo in numberformatter.h documentation.
...
X-SVN-Rev: 41360
2018-05-08 21:48:18 +00:00
Shane Carr
71baac1713
ICU-12572 Fixing some undefined behavior warnings in number code.
...
X-SVN-Rev: 41358
2018-05-08 07:59:41 +00:00
Shane Carr
cc5fca2744
ICU-13035 Adding test to ICU4C for padding code point.
...
X-SVN-Rev: 41339
2018-05-07 22:37:02 +00:00
Markus Scherer
8b67b86c79
ICU-12567 port NumberFormatTest.Test12567 to C++
...
X-SVN-Rev: 41335
2018-05-07 22:07:43 +00:00
Shane Carr
e27cf9ce39
ICU-13677 Changing NumberFormatter rounding setting to precision and roundingMode.
...
X-SVN-Rev: 41330
2018-05-05 06:32:29 +00:00
Shane Carr
bc9710aa8b
ICU-13738 Makes DecimalFormat#toNumberFormatter() return by const-reference.
...
X-SVN-Rev: 41327
2018-05-05 01:47:12 +00:00
Shane Carr
a52fcd20f2
ICU-13597 Replying to UNumberFormatter code recatew comments.
...
X-SVN-Rev: 41321
2018-05-04 06:58:44 +00:00
Shane Carr
23bacf40c8
ICU-12572 Fixing undefined behavior in NullableValue assignment operator.
...
X-SVN-Rev: 41318
2018-05-03 09:26:15 +00:00
Shane Carr
f1e1a5c3f4
ICU-12572 Adding cpp-file definitions for all interface classes in number code, cleaning up an undefined behavior warning.
...
X-SVN-Rev: 41317
2018-05-03 09:13:46 +00:00
Shane Carr
ef26576a96
ICU-12572 Moving error code check one level deeper such that the constructor does not leave the NumberFormatterImpl in an undefined state for destruction later.
...
X-SVN-Rev: 41316
2018-05-03 09:02:39 +00:00
Shane Carr
a41f51ad5f
ICU-12572 Undefined behavior fixes in number code.
...
X-SVN-Rev: 41315
2018-05-03 08:53:20 +00:00
Shane Carr
0a0d99ebc8
ICU-13662 Improving NumberFormatter field position method names and behavior.
...
X-SVN-Rev: 41313
2018-05-03 01:34:19 +00:00
Shane Carr
c035e5bd04
ICU-13700 Removing obsolete TODO comment.
...
X-SVN-Rev: 41312
2018-05-03 01:32:03 +00:00
Jeff Genovy
37e2209f66
ICU-13749 Fix issue with tabs to spaces in previous commit.
...
X-SVN-Rev: 41311
2018-05-02 20:46:17 +00:00
Jeff Genovy
600afe90c4
ICU-13749 Prevent double-free of mzMappings in ZoneMeta::createMetazoneMappings.
...
X-SVN-Rev: 41310
2018-05-02 20:40:07 +00:00
Jeff Genovy
275580806f
ICU-13739 ICU4C does not report Out-of-Memory when iterating over the TZEnumeration.
...
X-SVN-Rev: 41309
2018-05-02 19:55:58 +00:00
Jeff Genovy
2d5e369e78
ICU-13725 Fix last remaining C4251 warnings/errors by bringing back the CurrencyPluralInfoWrapper.
...
X-SVN-Rev: 41308
2018-05-02 08:18:00 +00:00
Jeff Genovy
6a5349eaae
ICU-13725 Fix more of the C4251 warnings.
...
X-SVN-Rev: 41307
2018-05-02 07:51:55 +00:00
Jeff Genovy
f5082ad3a7
ICU-13725 Fix many of the C4251 warnings by DLL-exporting explicit template instantiations.
...
X-SVN-Rev: 41306
2018-05-02 06:49:00 +00:00
Shane Carr
b840d51ed9
ICU-13716 Adding default return values after U_ASSERT(FALSE) to silence compiler warnings in non-debug builds.
...
X-SVN-Rev: 41305
2018-05-02 04:29:25 +00:00
Shane Carr
3d0bf4b9c7
ICU-13644 Replying to review feedback. Changing enum methods on NumberFormatter to take by value instead of const reference.
...
X-SVN-Rev: 41304
2018-05-02 03:49:35 +00:00
Shane Carr
215417117e
ICU-13437 Adding error codes to NumberFormatter terminal methods.
...
X-SVN-Rev: 41296
2018-04-30 21:07:35 +00:00
Shane Carr
c9680037cc
ICU-12572 Fixing signed overflow in decimalquantity.
...
X-SVN-Rev: 41293
2018-04-28 07:38:41 +00:00
Shane Carr
b20f7f3543
ICU-13725 Adding comments referencing ticket 13580.
...
X-SVN-Rev: 41291
2018-04-28 06:59:09 +00:00
Shane Carr
6545bac22d
ICU-12931 Adding internal visibility ifdef around format(DecimalQuantity) methods in numfmt.h and decimfmt.h
...
X-SVN-Rev: 41285
2018-04-28 02:38:55 +00:00
Shane Carr
d5253cfcae
ICU-13725 Responding to small code review comments.
...
X-SVN-Rev: 41283
2018-04-27 08:02:40 +00:00
Shane Carr
c13e7785c2
ICU-13725 Fixing NumberFormatter std::move test failure on MSVC.
...
X-SVN-Rev: 41282
2018-04-26 03:38:17 +00:00
Shane Carr
e77603e3c3
ICU-13725 Fixing various number test failures in MSVC.
...
X-SVN-Rev: 41281
2018-04-26 01:33:59 +00:00
Shane Carr
acbdeaf98e
ICU-13725 Fixing field reference in compactdecimalformat.cpp, broken by previous commit.
...
X-SVN-Rev: 41280
2018-04-26 00:17:30 +00:00
Shane Carr
18bfb67a60
ICU-13725 Moving all DecimalFormat fields to an implementation class, eliminating many MSVC warnings.
...
X-SVN-Rev: 41279
2018-04-25 23:57:10 +00:00
Shane Carr
18ffd64c69
ICU-13725 Additional MSVC compatibility fixes.
...
X-SVN-Rev: 41278
2018-04-25 21:51:16 +00:00
Andy Heninger
9ba0aa2345
ICU-13634 Fix Macintosh build breakage.
...
X-SVN-Rev: 41277
2018-04-25 21:04:19 +00:00
Andy Heninger
72ae3d7d54
ICU-13634 Fix Macintosh build error - missing include.
...
X-SVN-Rev: 41276
2018-04-25 04:09:09 +00:00