Frank Tang
255eb4ef3e
ICU-23069 Fix Hebrew calendar calculation
...
See #3438
2025-03-19 13:45:52 -07:00
Frank Tang
59af52bb6f
ICU-23043 Propogate error in Calendar.
2025-02-11 15:14:27 -08:00
Frank Tang
e515c84645
ICU-22991 Remove unnecessary overload in Calendar
2024-12-23 12:52:11 -08: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
Frank Tang
0c02f8c007
ICU-22743 Change internal functions to propagate errors up.
2024-04-18 15:32:59 -07:00
Frank Tang
fbc1f33e7e
ICU-22679 Clean up Calendar code.
...
1. Remove redudant implementation of default system ceuntry by using
macro
2. Fold long if / else block if one block return.
2024-03-21 09:50:10 -07:00
Frank Tang
6b67715a94
ICU-22633 Fix hang on large negative day in hebrew calendar
...
Check error status and return error early in the loop
2024-03-19 16:32:06 -07:00
Frank Tang
9a912bb51b
ICU-22633 Add more Calendar overflow tests
...
Test set+set, set+add, set+roll, add+add, roll+roll
Fix more int32_t overflow problems.
Optimize both Java and C++ Hebrew Calendar month/year advancement by first consider
every 235 months is 19 years before iteration.
2024-03-13 15:48:25 -07:00
Frank Tang
d43d216feb
ICU-22633 Test and fix int32_t overflow for Calendar set
...
Add test to set with INT32_MAX and INT32_MIN then call getTime()
and fix all the undefined errors.
2024-03-12 16:46:53 -07:00
Frank Tang
ec800e7407
ICU-22633 Return error if era is out of range
2024-02-27 10:56:28 -08:00
Frank Tang
b24b251bca
ICU-22633 Fix more int overflow issues in calendar
2024-02-13 17:24:18 -08:00
Frank Yung-Fong Tang
0b66fada30
ICU-22633 Fix integer overflow inside Calendar code
...
See #2806
2024-02-07 10:58:41 -08:00
Frank Tang
19bac42f98
ICU-22446 Fix incorrect Hebrew ORDINAL MONTH bug
2023-07-27 22:18:00 -07:00
Markus Scherer
b6dcc95d3c
ICU-21833 remove redundant void parameter lists
...
See #2351
2023-03-02 09:31:57 -08:00
Fredrik Roubert
2e0d30cfcf
ICU-21833 Replace NULL with nullptr in all C++ code.
2023-02-03 20:20:38 +01:00
Frank Tang
cd1b772cbf
ICU-22027 Add C++ Calendar API for Temporal
...
API proposal
https://docs.google.com/document/d/1UYriEzzExiLhi2RD3zjTsI5UQHv1dXaFqrct7yXNdCA/edit#heading=h.x9obor85vpx9
Design Doc
https://docs.google.com/document/d/15ViyC9s0k3VEDwBmAkKxxz4IadZ6QrAIoETkdkF0cVA/
ICU-22027 Adjust API to remove the mention of M00L for now.
2023-01-17 15:08:08 -08:00
Frank Tang
b0ab1171ad
ICU-10752 Spread (s|g)etRelativeYear to subclass
...
Remove the switch statment implementaiton in
Calendar::(g|s)etRelatedYear
and move the code into each subclass as proper OOP style.
2022-11-09 13:18:24 -08:00
Frank Tang
294b26eb7a
ICU-22159 Merge inDaylightTime to Calendar
...
All the subclass implementation of inDaylightTime are the same
so just move to a base class implementation.
2022-10-31 08:42:51 -07:00
Frank Tang
9f3feed545
ICU-22160 clean up Calendar code
...
Remove unnecessary BuddhistCalendar::handleComputeMonthStart
Remove unnecessary include
2022-10-31 08:41:54 -07: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
85705f04e0
ICU-21960 C++20 Warnings from ATOMIC_VAR_INIT
...
Remove the ICU macros ATOMIC_INT32_T_INITIALIZER and U_INITONCE_INITIALIZER,
which made use of C++ ATOMIC_VAR_INIT, which has been removed from C++20.
With modern C++ features being available, these macros no longer served
any real need.
2022-05-17 15:45:06 -07:00
Frank Tang
35dfdf1d02
ICU-21043 Fix calendar problems
...
This PR fixes
ICU-21043 Erroneous date display in indian calendar of all dates prior to 0001-01-01.
ICU-21044 Hebrew Calendar calculation is incorrect when the year < 1
ICU-21045 Erroneous date display in islamic and islamic-rgsa calendars of all dates prior to 0622-07-18.
ICU-21046 Erroneous date display in islamic-umalqura calendar of all dates prior to -195366-07-23.
The problem in the indiancal.cpp is
* ICU-21043 the gregorian/julain convesion is wrong. Swith to use
i18n/gregoimp.h fix the problem.
The problem in the hebrwcal.cpp is
* ICU-21044 Use ClockMath::floorDivid to replace x / y for x maybe < 0
also need to fix incorrect value in test file
The problem in the islamcal.cpp:
* ICU-21045: The math of % negative number for year and month is wrong.
* ICU-21046: Not use int64_t methods and caused int32_t overflow while the year is a
huge negative number. Cast to int64_t to force using the int64_t version
for the math fix the problem.
Also add tests to exhaust test 8000 years for all calendar. In quick
mode, only test 2.5 years.
Switch to 0-based month. fix TZ for test.
2020-09-10 00:21:18 -07:00
Frank Tang
863582c2a4
ICU-20465 Calendar/DateFormat listen to tz extension
...
See #1176
2020-08-04 13:33:03 -07:00
Markus Scherer
f02b496494
ICU-20783 C++ covariant return types: clone(), freeze() & friends
2019-08-22 16:24:41 -07: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
Fredrik Roubert
f34de568c4
ICU-12012 Replace irregular sizeof expressions with UPRV_LENGTHOF().
...
R=markus.icu@gmail.com
Review URL: https://codereview.appspot.com/286430043 .
X-SVN-Rev: 38378
2016-02-26 11:21:55 +00:00
Yoshito Umaoka
0d678d3115
ICU-10313 Added Hebrew month value checking for leap year.
...
X-SVN-Rev: 34539
2013-10-10 17:35:28 +00:00
Markus Scherer
8f38199123
ICU-10365 fix namespace issue: icu::UInitOnce
...
X-SVN-Rev: 34252
2013-09-10 00:34:12 +00:00
Andy Heninger
978f71fe78
ICU-10051 Mutexes: introduce UInitOnce; remove UMTX_CHECK; replace all uses of UMTX_CHECK.
...
X-SVN-Rev: 33787
2013-05-31 23:50:15 +00:00
Markus Scherer
1beb0f1e4f
ICU-8680 require C++ namespace, replace most U_NAMESPACE_QUALIFIER with icu::, remove still-draft U_STD_NS, U_STD_NSQ, and U_STD_NS_USE
...
X-SVN-Rev: 30281
2011-07-06 04:03:35 +00:00
Andy Heninger
38b7c3e8a7
ICU-6481 fix threading issues in calendar initialization code
...
X-SVN-Rev: 24445
2008-08-05 22:19:05 +00:00
Steven R. Loomis
4aa07df910
ICU-6240 assorted C bugs
...
X-SVN-Rev: 23841
2008-04-25 17:29:35 +00:00
Yoshito Umaoka
32c3313145
ICU-5845 Calendar 'actual' limit test ported from J to C. Also ported bug fixes related to calendar limits implementation.
...
X-SVN-Rev: 23775
2008-04-09 18:26:42 +00:00
George Rhoten
9b82688642
ICU-6125 Eliminate a few kilobytes of unused bits in constant data structures.
...
X-SVN-Rev: 23182
2008-01-08 09:45:15 +00:00
Andrew J Macheret
f8339df718
ICU-4081 Ported Chinese calendar from icu4j. Mostly working.
...
X-SVN-Rev: 22853
2007-10-25 20:26:34 +00:00
Yoshito Umaoka
5619137130
ICU-3704 Fix DAY_OF_WEEK_IN_MONTH least maximum value in GregorianCalendar. Also merged field limit bug fixes from ICU4J to ICU4C.
...
X-SVN-Rev: 22379
2007-08-14 18:31:26 +00:00
Eric Mader
3dbd215bdb
ICU-5555 handleGetMonthLength needs to check for out of range months.
...
X-SVN-Rev: 21092
2007-02-23 19:27:50 +00:00
George Rhoten
b5781126c8
ICU-5349 Use UMTX_CHECK when it's helpful.
...
X-SVN-Rev: 20269
2006-09-08 04:02:23 +00:00
George Rhoten
4cc82b4180
ICU-5304 Allow source code to work again without using U_NAMESPACE_USE
...
X-SVN-Rev: 20242
2006-09-04 16:36:21 +00:00
George Rhoten
e8641af8d2
ICU-5032 Move deprecated virtual inline code into the rest of the Hebrew calendar.
...
X-SVN-Rev: 19397
2006-03-22 00:38:45 +00:00
George Rhoten
5dee33ea3e
ICU-4707 Fix some compiler warnings about unused variables.
...
X-SVN-Rev: 19118
2006-02-09 08:59:20 +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
7dd960a8b4
ICU-4078 Loosely couple the cleanup functions.
...
X-SVN-Rev: 16307
2004-09-12 23:07:29 +00:00
George Rhoten
c3e9229f9e
ICU-4084 The language isn't needed.
...
X-SVN-Rev: 16292
2004-09-10 04:57:34 +00:00
George Rhoten
011fe48d05
ICU-3837 Reduce the number of mallocs
...
X-SVN-Rev: 16035
2004-07-18 02:01:42 +00:00
Eric Mader
abefef5844
ICU-3770 Updated copyright notices for ICU 3.0
...
X-SVN-Rev: 15411
2004-05-19 20:42:44 +00:00
George Rhoten
2f7feeea3e
ICU-3236 Don't export some functions
...
X-SVN-Rev: 14331
2004-01-15 22:12:26 +00:00