Skip to content

Commit 0826d39

Browse files
committed
some fixes for bug#54254
1 parent dedc8f2 commit 0826d39

File tree

5 files changed

+14
-9
lines changed

5 files changed

+14
-9
lines changed

ext/calendar/calendar.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ static struct cal_entry_t cal_conversion_table[CAL_NUM_CALS] = {
204204
FrenchMonthName, FrenchMonthName}
205205
};
206206

207-
#define JEWISH_MONTH_NAME(year) ((monthsPerYear[(year) % 19] == 13)?JewishMonthNameLeap:JewishMonthName)
208-
#define JEWISH_HEB_MONTH_NAME(year) ((monthsPerYear[(year) % 19] == 13)?JewishMonthHebNameLeap:JewishMonthHebName)
207+
#define JEWISH_MONTH_NAME(year) ((monthsPerYear[((year)-1) % 19] == 13)?JewishMonthNameLeap:JewishMonthName)
208+
#define JEWISH_HEB_MONTH_NAME(year) ((monthsPerYear[((year)-1) % 19] == 13)?JewishMonthHebNameLeap:JewishMonthHebName)
209209

210210
/* For jddayofweek */
211211
enum { CAL_DOW_DAYNO, CAL_DOW_SHORT, CAL_DOW_LONG };

ext/calendar/jewish.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
* 4 Tevet 29 29 29 29 29 29
8787
* 5 Shevat 30 30 30 30 30 30
8888
* 6 Adar I -- -- -- 30 30 30 (optional)
89-
* 7 Adar II 29 29 29 29 29 29
89+
* 7 Adar (II) 29 29 29 29 29 29
9090
* 8 Nisan 30 30 30 30 30 30
9191
* 9 Iyyar 29 29 29 29 29 29
9292
* 10 Sivan 30 30 30 30 30 30
@@ -286,7 +286,7 @@
286286
#define AM3_11_20 ((9 * HALAKIM_PER_HOUR) + 204)
287287
#define AM9_32_43 ((15 * HALAKIM_PER_HOUR) + 589)
288288

289-
static int monthsPerYear[19] =
289+
int monthsPerYear[19] =
290290
{
291291
12, 12, 13, 12, 12, 13, 12, 13, 12, 12, 13, 12, 12, 13, 12, 12, 13, 12, 13
292292
};

ext/calendar/sdncal.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ long int JulianToSdn(int year, int month, int day);
7979
void SdnToJewish(long int sdn, int *pYear, int *pMonth, int *pDay);
8080
long int JewishToSdn(int year, int month, int day);
8181
extern char *JewishMonthName[14];
82+
extern char *JewishMonthNameLeap[14];
8283
extern char *JewishMonthHebName[14];
84+
extern char *JewishMonthHebNameLeap[14];
85+
extern int monthsPerYear[19];
8386

8487
/* French republic calendar conversions. */
8588
void SdnToFrench(long int sdn, int *pYear, int *pMonth, int *pDay);

ext/calendar/tests/jdmonthname.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ Heshvan
178178
Kislev
179179
Tevet
180180
Shevat
181-
AdarI
181+
Adar
182182
Nisan
183183
Iyyar
184184
Sivan
@@ -279,7 +279,7 @@ Heshvan
279279
Kislev
280280
Tevet
281281
Shevat
282-
AdarI
282+
Adar
283283
Nisan
284284
Iyyar
285285
Sivan

ext/calendar/tests/jdtojewish.phpt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ var_dump(jdtojewish(gregoriantojd(10,28,2002))."\r\n".
1414
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM)."\r\n".
1515
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM_GERESH)."\r\n".
1616
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM)."\r\n".
17-
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM+CAL_JEWISH_ADD_ALAFIM_GERESH)."\r\n");
17+
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM+CAL_JEWISH_ADD_ALAFIM_GERESH)."\r\n".
18+
jdtojewish(gregoriantojd(3,10,2007))."\r\n");
1819
?>
19-
--EXPECT--
20-
string(184) "2/22/5763
20+
--EXPECTF--
21+
string(%d) "2/22/5763
2122
ëá çùåï äúùñâ
2223
ëá çùåï ä'úùñâ
2324
ëá çùåï ä àìôéí úùñâ
@@ -27,4 +28,5 @@ string(184) "2/22/5763
2728
á' çùåï ä'úùñ"â
2829
á' çùåï ä àìôéí úùñ"â
2930
á' çùåï ä' àìôéí úùñ"â
31+
7/20/5767
3032
"

0 commit comments

Comments
 (0)