This is a patch to fix the main issue in bug #54254,
cal_from_jd(CAL_JEWISH) returns month=6 for Adar when there is only
one Adar, (it should return 7, since if there is only one Adar it's
AdarII). This will clear up an issue where cal_from_jd() returns a
month that cal_days_in_month() reports to have 0 days due to an
inconsistency in how dates are converted to and from the Jewish
calendar. This patch should create the correct behavior.
I hope this can be applied and put into place soon, as this bug causes
malfunctions that have to be worked around.
Thanks,
Eitan
https://bugs.php.net/bug.php?id=54254
Index: ext/calendar/tests/jdtojewish.phpt
===================================================================
--- ext/calendar/tests/jdtojewish.phpt (revision 322030)
+++ ext/calendar/tests/jdtojewish.phpt (working copy)
@@ -14,10 +14,11 @@
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM)."\r\n".
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM_GERESH)."\r\n".
jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM)."\r\n".
- jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM+CAL_JEWISH_ADD_ALAFIM_GERESH)."\r\n");
+ jdtojewish(gregoriantojd(10,8,2002),true, CAL_JEWISH_ADD_GERESHAYIM+CAL_JEWISH_ADD_ALAFIM+CAL_JEWISH_ADD_ALAFIM_GERESH)."\r\n".
+ jdtojewish(gregoriantojd(3,10,2007))."\r\n");
?>
--EXPECT--
-string(184) "2/22/5763
+string(195) "2/22/5763
כב חשון התשסג
כב חשון ה'תשסג
כב חשון ה אלפים תשסג
@@ -27,4 +28,5 @@
ב' חשון ה'תשס"ג
ב' חשון ה אלפים תשס"ג
ב' חשון ה' אלפים תשס"ג
+7/20/5767
"
Index: ext/calendar/jewish.c
===================================================================
--- ext/calendar/jewish.c (revision 322030)
+++ ext/calendar/jewish.c (working copy)
@@ -587,11 +587,11 @@
(*pMonth)--;
(*pDay) += 30;
} else {
- *pMonth = 6;
+ *pMonth = 7;
*pDay = inputDay - tishri1 + 207;
if (*pDay > 0)
return;
- (*pMonth)--;
+ (*pMonth)-=2;
(*pDay) += 30;
}
if (*pDay > 0)
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php