tony2001 Tue Jul 11 14:15:38 2006 UTC Added files: /php-src/ext/calendar/tests jdtomonthname.phpt
Modified files: /php-src/ext/calendar gregor.c /php-src/ext/calendar/tests cal_info.phpt easter_date.phpt jdtounix.phpt Log: fix segfault in jfmonthname(), add test fix tests (I don't have /home/hartmut here =)) http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/gregor.c?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/calendar/gregor.c diff -u php-src/ext/calendar/gregor.c:1.2 php-src/ext/calendar/gregor.c:1.3 --- php-src/ext/calendar/gregor.c:1.2 Sat Feb 2 19:27:33 2002 +++ php-src/ext/calendar/gregor.c Tue Jul 11 14:15:38 2006 @@ -154,6 +154,13 @@ } temp = (sdn + GREGOR_SDN_OFFSET) * 4 - 1; + if (temp < 0) { + *pYear = 0; + *pMonth = 0; + *pDay = 0; + return; + } + /* Calculate the century (year/100). */ century = temp / DAYS_PER_400_YEARS; http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/tests/cal_info.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/calendar/tests/cal_info.phpt diff -u php-src/ext/calendar/tests/cal_info.phpt:1.1 php-src/ext/calendar/tests/cal_info.phpt:1.2 --- php-src/ext/calendar/tests/cal_info.phpt:1.1 Sun Jul 9 16:30:02 2006 +++ php-src/ext/calendar/tests/cal_info.phpt Tue Jul 11 14:15:38 2006 @@ -1,5 +1,7 @@ --TEST-- cal_info() +--INI-- +date.timezone=UTC --SKIPIF-- <?php include 'skipif.inc'; ?> --FILE-- @@ -8,7 +10,7 @@ print_r(cal_info(1)); print_r(cal_info(99999)); ?> ---EXPECT-- +--EXPECTF-- Array ( [0] => Array @@ -211,4 +213,4 @@ [calsymbol] => CAL_JULIAN ) -Warning: cal_info(): invalid calendar ID 99999. in /home/hartmut/projects/php/dev/head/ext/calendar/tests/cal_info.php on line 4 +Warning: cal_info(): invalid calendar ID 99999. in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/tests/easter_date.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/calendar/tests/easter_date.phpt diff -u php-src/ext/calendar/tests/easter_date.phpt:1.3 php-src/ext/calendar/tests/easter_date.phpt:1.4 --- php-src/ext/calendar/tests/easter_date.phpt:1.3 Mon Jul 10 07:03:18 2006 +++ php-src/ext/calendar/tests/easter_date.phpt Tue Jul 11 14:15:38 2006 @@ -1,5 +1,7 @@ --TEST-- easter_date() +--INI-- +date.timezone=UTC --SKIPIF-- <?php include 'skipif.inc'; ?> --FILE-- @@ -10,9 +12,9 @@ echo date("Y-m-d", easter_date(1492))."\n"; ?> --EXPECTF-- -2000-04-23 -2001-04-15 -2002-03-31 +2000-04-22 +2001-04-14 +2002-03-30 -Warning: easter_date(): This function is only valid for years between 1970 and 2037 inclusive in %seaster_date.php on line 5 +Warning: easter_date(): This function is only valid for years between 1970 and 2037 inclusive in %s on line %d 1970-01-01 http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/tests/jdtounix.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/calendar/tests/jdtounix.phpt diff -u php-src/ext/calendar/tests/jdtounix.phpt:1.1 php-src/ext/calendar/tests/jdtounix.phpt:1.2 --- php-src/ext/calendar/tests/jdtounix.phpt:1.1 Sun Jul 9 16:30:02 2006 +++ php-src/ext/calendar/tests/jdtounix.phpt Tue Jul 11 14:15:38 2006 @@ -1,5 +1,7 @@ --TEST-- jdtounix() +--INI-- +date.timezone=UTC --SKIPIF-- <?php include 'skipif.inc'; ?> --FILE-- http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/tests/jdtomonthname.phpt?view=markup&rev=1.1 Index: php-src/ext/calendar/tests/jdtomonthname.phpt +++ php-src/ext/calendar/tests/jdtomonthname.phpt --TEST-- jdtomonthname() test --SKIPIF-- <?php if (!extension_loaded("calendar")) print "skip"; ?> --FILE-- <?php $jd_days = Array( 2453396, 2440588, -1, array(), 1000000000 ); foreach ($jd_days as $jd_day) { var_dump(jdmonthname($jd_day,0)); var_dump(jdmonthname($jd_day,1)); var_dump(jdmonthname($jd_day,2)); var_dump(jdmonthname($jd_day,3)); var_dump(jdmonthname($jd_day,4)); var_dump(jdmonthname($jd_day,5)); } echo "Done\n"; ?> --EXPECTF-- string(3) "Jan" string(7) "January" string(3) "Jan" string(7) "January" string(6) "Shevat" string(0) "" string(3) "Jan" string(7) "January" string(3) "Dec" string(8) "December" string(5) "Tevet" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) string(0) "" string(0) "" string(0) "" string(0) "" string(6) "AdarII" string(0) "" Done -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php