Commit graph

23 commits

Author SHA1 Message Date
Fredrik Roubert
6ca288559f ICU-22936 Replace all ICU4C code that uses UBool as an integer. 2024-10-07 14:40:16 +02:00
Fredrik Roubert
0178a07a26 ICU-22793 Clang-Tidy: google-readability-casting
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-casting.html
2024-07-04 22:32:12 +02:00
Fredrik Roubert
2e0d30cfcf ICU-21833 Replace NULL with nullptr in all C++ code. 2023-02-03 20:20:38 +01:00
Fredrik Roubert
030fa1a479 ICU-21148 Consistently use standard lowercase true/false everywhere.
This is the normal standard way in C, C++ as well as Java and there's no
longer any reason for ICU to be different. The various internal macros
providing custom boolean constants can all be deleted and code as well
as documentation can be updated to use lowercase true/false everywhere.
2022-09-07 20:56:33 +02:00
Andy Heninger
081cf77330 ICU-21662 Improve UVector error handling.
- Add updated versions of UVector::addElement() and ensureCapacity() that respect
  incoming errors.
  Follow on to c26aebe, which renamed the original versions.

- Add UVector::adoptElement() as a replacement for addElement() when the vector
  has a deleter function set, meaning that it adopts ownership of its elements.

  The intent is to make the behavior clearer at the call sites when looking
  at unfamiliar code.

- Make all functions with an incoming failure, as indicated by a UErrorCode parameter,
  leave the vector unchanged.

- Change all functions that store object pointers into the vector such that,
  when the store cannot be completed for any reason _and_ the vector has a deleter function,
  then the incoming object is deleted.

  This change can simplify the error handling code around calls to the affected functions
  (addElement() and insertElementAt(), in particular)

- Add index bounds checking on functions where it was possible - that is, on functions
  with both U_ErrorCode and index parameters.

- Changed to more modern C++ idioms in some parts of the UVector implementation.

- Review & update as required all uses of the UVector functions
  setElementAt(), insertElementAt(), setSize(), sortedInsert()
  these being the functions with changed behavior on error conditions
  (aside from addElement()).

This PR will be followed by more, switching call sites in various ICU services
from UVector::addElementX() (old behavior on errors)
to   UVector::addElement()  (new behavior on errors)
2021-09-02 19:15:36 -07:00
Frank Tang
bdb4c7025a ICU-21526 Change return of UElementComparator to int32_t
See #1621
2021-03-31 12:02:08 -07:00
Fredrik Roubert
b4b2378931 ICU-20601 Wrap ICU test compound macros in do { } while.
This does the same for the ICU test code as was done for the
public ICU API in commit 480bec3ea6.
2019-08-15 22:01:42 +02:00
Andy Heninger
242e02c388 ICU-12764 icu4c utf-8 source files, update Copyright notices.
X-SVN-Rev: 39583
2017-01-20 00:20:31 +00:00
Michael Ow
61607c2773 ICU-12564 Update copyright notice in trunk
X-SVN-Rev: 38848
2016-06-15 18:58:17 +00:00
Yoshito Umaoka
00ca13e126 ICU-12564 Reverted r38761 and r38762, because we want to prepend the Unicode copyright for existing source files, instead of replacing copyright comments.
X-SVN-Rev: 38776
2016-05-31 21:45:07 +00:00
Michael Ow
c9f199a30f ICU-12564 Update copyright notice in ICU4C
X-SVN-Rev: 38761
2016-05-26 22:32:17 +00:00
Markus Scherer
744d1f3a19 ICU-8617 move UHashTok into lower-level uelement.h (new) and rename to UElement to share with UVector
X-SVN-Rev: 30272
2011-07-04 23:51:56 +00:00
Markus Scherer
81234fecdb ICU-7273 add loading of custom data, with caching, test data and test code
X-SVN-Rev: 27578
2010-02-16 23:43:22 +00:00
Steven R. Loomis
9f373b4b5a ICU-6902 merge of r26358 into trunk (z changes)
X-SVN-Rev: 26381
2009-07-18 02:35:27 +00:00
George Rhoten
e5fc505f2e ICU-5511 Prevent uhash_equals from crashing by default
X-SVN-Rev: 20657
2006-11-15 00:13:51 +00:00
George Rhoten
467aa116a5 ICU-5032 Increase code coverage.
X-SVN-Rev: 19429
2006-03-24 23:12:30 +00:00
George Rhoten
4b8ef3e6e6 ICU-4288 Mostly fixes for --enable-strict for gcc 3.4 (Fedora Core 3)
X-SVN-Rev: 17040
2004-12-30 07:25:51 +00:00
George Rhoten
6ade426c16 ICU-4288 Fix some compiler warnings.
X-SVN-Rev: 17016
2004-12-23 20:16:56 +00:00
George Rhoten
391d8f379e ICU-4092 Increase code coverage
X-SVN-Rev: 17007
2004-12-22 21:57:43 +00:00
George Rhoten
4f61fbcda0 ICU-4092 Real fix for MSVC 6
X-SVN-Rev: 16989
2004-12-21 23:51:25 +00:00
George Rhoten
ae9c08341d ICU-4092 Fix for MSVC 6
X-SVN-Rev: 16987
2004-12-21 23:02:17 +00:00
George Rhoten
8ab45b2d62 ICU-4092 Fix previous checkin for Linux.
X-SVN-Rev: 16986
2004-12-21 22:26:39 +00:00
George Rhoten
03506550ff ICU-4092 Improve code coverage
X-SVN-Rev: 16973
2004-12-20 23:38:05 +00:00