svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/php_date.c branches/PHP_5_3/ext/date/tests/bug52063.phpt trunk/ext/date/php_date.c
trunk/ext/date/tests/bug52063.phpt
| From: | Stanislav Malyshev | Date: | Mon, 24 Jan 2011 01:15:41 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/date/php_date.c branches/PHP_5_3/ext/date/tests/bug52063.phpt trunk/ext/date/php_date.c trunk/ext/date/tests/bug52063.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-64416@lists.php.net to get a copy of this message | ||
stas Mon, 24 Jan 2011 01:15:41 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=307688
Log:
Fixed Bug #52063 (DateTime constructor's second argument doesn't have a null default
value)
Bug: http://bugs.php.net/52063 (Assigned) DateTime
constructor's second argument doesn't have a null default value
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/date/php_date.c
A php/php-src/branches/PHP_5_3/ext/date/tests/bug52063.phpt
U php/php-src/trunk/ext/date/php_date.c
A php/php-src/trunk/ext/date/tests/bug52063.phpt
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2011-01-23 22:40:35 UTC (rev 307687)
+++ php/php-src/branches/PHP_5_3/NEWS 2011-01-24 01:15:41 UTC (rev 307688)
@@ -36,6 +36,8 @@
no effect. (Derick)
. Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
big-endian systems). (Derick, rein@basefarm.no)
+ . Fixed bug #52063 (DateTime constructor's second argument doesn't have a
+ null default value). (Gustavo, Stas)
- Filter extension:
. Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges).
Modified: php/php-src/branches/PHP_5_3/ext/date/php_date.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/php_date.c 2011-01-23 22:40:35 UTC (rev 307687)
+++ php/php-src/branches/PHP_5_3/ext/date/php_date.c 2011-01-24 01:15:41 UTC (rev 307688)
@@ -2465,7 +2465,7 @@
char *time_str = NULL;
int time_str_len = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO", &time_str,
&time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str,
&time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
@@ -2507,7 +2507,7 @@
zend_error_handling error_handling;
zend_replace_error_handling(EH_THROW, NULL, &error_handling TSRMLS_CC);
- if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO", &time_str,
&time_str_len, &timezone_object, date_ce_timezone)) {
+ if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str,
&time_str_len, &timezone_object, date_ce_timezone)) {
php_date_initialize(zend_object_store_get_object(getThis() TSRMLS_CC), time_str, time_str_len,
NULL, timezone_object, 1 TSRMLS_CC);
}
zend_restore_error_handling(&error_handling TSRMLS_CC);
Added: php/php-src/branches/PHP_5_3/ext/date/tests/bug52063.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/bug52063.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/bug52063.phpt 2011-01-24 01:15:41 UTC (rev 307688)
@@ -0,0 +1,15 @@
+--TEST--
+Bug #52063 (DateTime constructor's second argument doesn't have a null default value)
+--FILE--
+<?php
+date_default_timezone_set("Europe/Lisbon");
+$a = new DateTime("2009-01-01", null);
+echo $a->format(DateTime::COOKIE);
+echo "\n";
+$a = date_create("2009-01-01", null);
+echo $a->format(DateTime::COOKIE);
+echo "\n";
+?>
+--EXPECTF--
+Thursday, 01-Jan-09 00:00:00 WET
+Thursday, 01-Jan-09 00:00:00 WET
Modified: php/php-src/trunk/ext/date/php_date.c
===================================================================
--- php/php-src/trunk/ext/date/php_date.c 2011-01-23 22:40:35 UTC (rev 307687)
+++ php/php-src/trunk/ext/date/php_date.c 2011-01-24 01:15:41 UTC (rev 307688)
@@ -2460,7 +2460,7 @@
char *time_str = NULL;
int time_str_len = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO", &time_str,
&time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str,
&time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
@@ -2502,7 +2502,7 @@
zend_error_handling error_handling;
zend_replace_error_handling(EH_THROW, NULL, &error_handling TSRMLS_CC);
- if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO", &time_str,
&time_str_len, &timezone_object, date_ce_timezone)) {
+ if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str,
&time_str_len, &timezone_object, date_ce_timezone)) {
php_date_initialize(zend_object_store_get_object(getThis() TSRMLS_CC), time_str, time_str_len,
NULL, timezone_object, 1 TSRMLS_CC);
}
zend_restore_error_handling(&error_handling TSRMLS_CC);
Added: php/php-src/trunk/ext/date/tests/bug52063.phpt
===================================================================
--- php/php-src/trunk/ext/date/tests/bug52063.phpt (rev 0)
+++ php/php-src/trunk/ext/date/tests/bug52063.phpt 2011-01-24 01:15:41 UTC (rev 307688)
@@ -0,0 +1,15 @@
+--TEST--
+Bug #52063 (DateTime constructor's second argument doesn't have a null default value)
+--FILE--
+<?php
+date_default_timezone_set("Europe/Lisbon");
+$a = new DateTime("2009-01-01", null);
+echo $a->format(DateTime::COOKIE);
+echo "\n";
+$a = date_create("2009-01-01", null);
+echo $a->format(DateTime::COOKIE);
+echo "\n";
+?>
+--EXPECTF--
+Thursday, 01-Jan-09 00:00:00 WET
+Thursday, 01-Jan-09 00:00:00 WET