Browse Source

Revert "Merge branch 'PHP-5.5' into PHP-5.6"

This reverts commit aa22e80b1a, reversing
changes made to 3e7f47cb03.

Conflicts:
	ext/date/php_date.c
pull/1260/head
Stanislav Malyshev 12 years ago
parent
commit
2d9399af35
  1. 3
      NEWS
  2. 1
      UPGRADING
  3. 35
      ext/date/php_date.c
  4. 1
      ext/date/php_date.h
  5. 26
      ext/date/tests/DateTime_createFromImmutable.phpt
  6. 37
      ext/date/tests/DateTime_verify.phpt

3
NEWS

@ -23,9 +23,6 @@ PHP NEWS
. Implemented FR#69278 (HTTP2 support). (Masaki Kagaya)
. Fixed bug #68739 (Missing break / control flow). (Laruence)
- Date:
. Added DateTime::createFromImmutable(). (Trevor Suarez)
- Enchant:
. Fixed bug #65406 (Enchant broker plugins are in the wrong place in windows
builds). (Anatol)

1
UPGRADING

@ -271,7 +271,6 @@ PHP 5.6 UPGRADE NOTES
- Datetime:
Added DatePeriod::getStartDate(), DatePeriod::getEndDate(), DatePeriod::getDateInterval() in 5.6.5.
Added DateTime::createFromImmutable() in 5.6.8.
- GMP:
Added gmp_root($a, $nth) and gmp_rootrem($a, $nth) for calculating nth roots.

35
ext/date/php_date.c

@ -185,10 +185,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_date_format, 0, 0, 2)
ZEND_ARG_INFO(0, format)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_date_method_create_from_immutable, 0, 0, 1)
ZEND_ARG_INFO(0, DateTimeImmutable)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_date_method_format, 0, 0, 1)
ZEND_ARG_INFO(0, format)
ZEND_END_ARG_INFO()
@ -472,7 +468,6 @@ const zend_function_entry date_funcs_date[] = {
PHP_ME(DateTime, __construct, arginfo_date_create, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
PHP_ME(DateTime, __wakeup, NULL, ZEND_ACC_PUBLIC)
PHP_ME(DateTime, __set_state, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
PHP_ME(DateTime, createFromImmutable, arginfo_date_method_create_from_immutable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
PHP_ME_MAPPING(createFromFormat, date_create_from_format, arginfo_date_create_from_format, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
PHP_ME_MAPPING(getLastErrors, date_get_last_errors, arginfo_date_get_last_errors, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
PHP_ME_MAPPING(format, date_format, arginfo_date_method_format, 0)
@ -2786,7 +2781,7 @@ PHP_METHOD(DateTimeImmutable, createFromMutable)
php_date_obj *new_obj = NULL;
php_date_obj *old_obj = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &datetime_object, date_ce_date) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!", &datetime_object, date_ce_date) == FAILURE) {
return;
}
@ -2917,34 +2912,6 @@ PHP_METHOD(DateTime, __wakeup)
}
/* }}} */
/* {{{ proto DateTime::createFromImmutable(DateTimeImmutable object)
Creates new DateTime object from an existing DateTimeImmutable object.
*/
PHP_METHOD(DateTime, createFromImmutable)
{
zval *datetimeimmutable_object = NULL;
php_date_obj *new_obj = NULL;
php_date_obj *old_obj = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &datetimeimmutable_object, date_ce_immutable) == FAILURE) {
return;
}
php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
old_obj = (php_date_obj *) zend_object_store_get_object(datetimeimmutable_object TSRMLS_CC);
new_obj = (php_date_obj *) zend_object_store_get_object(return_value TSRMLS_CC);
new_obj->time = timelib_time_ctor();
*new_obj->time = *old_obj->time;
if (old_obj->time->tz_abbr) {
new_obj->time->tz_abbr = strdup(old_obj->time->tz_abbr);
}
if (old_obj->time->tz_info) {
new_obj->time->tz_info = old_obj->time->tz_info;
}
}
/* }}} */
/* Helper function used to add an associative array of warnings and errors to a zval */
static void zval_from_error_container(zval *z, timelib_error_container *error)
{

1
ext/date/php_date.h

@ -50,7 +50,6 @@ PHP_FUNCTION(getdate);
PHP_METHOD(DateTime, __construct);
PHP_METHOD(DateTime, __wakeup);
PHP_METHOD(DateTime, __set_state);
PHP_METHOD(DateTime, createFromImmutable);
PHP_FUNCTION(date_create);
PHP_FUNCTION(date_create_immutable);
PHP_FUNCTION(date_create_from_format);

26
ext/date/tests/DateTime_createFromImmutable.phpt

@ -1,26 +0,0 @@
--TEST--
Tests for DateTime::createFromImmutable.
--INI--
date.timezone=America/New_York
--FILE--
<?php
$current = "2015-03-05 07:00:16";
$i = DateTime::createFromImmutable(date_create_immutable($current));
var_dump($i);
$i = DateTime::createFromImmutable(date_create($current));
var_dump($i);
?>
--EXPECTF--
object(DateTime)#%d (3) {
["date"]=>
string(26) "2015-03-05 07:00:16.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "America/New_York"
}
Warning: DateTime::createFromImmutable() expects parameter 1 to be DateTimeImmutable, object given in %stests%eDateTime_createFromImmutable.php on line %d
NULL

37
ext/date/tests/DateTime_verify.phpt

@ -27,7 +27,7 @@ object(ReflectionClass)#%d (1) {
string(8) "DateTime"
}
..and get names of all its methods
array(19) {
array(18) {
[0]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
@ -50,111 +50,104 @@ array(19) {
string(8) "DateTime"
}
[3]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(19) "createFromImmutable"
["class"]=>
string(8) "DateTime"
}
[4]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(16) "createFromFormat"
["class"]=>
string(8) "DateTime"
}
[5]=>
[4]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(13) "getLastErrors"
["class"]=>
string(8) "DateTime"
}
[6]=>
[5]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(6) "format"
["class"]=>
string(8) "DateTime"
}
[7]=>
[6]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(6) "modify"
["class"]=>
string(8) "DateTime"
}
[8]=>
[7]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(3) "add"
["class"]=>
string(8) "DateTime"
}
[9]=>
[8]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(3) "sub"
["class"]=>
string(8) "DateTime"
}
[10]=>
[9]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(11) "getTimezone"
["class"]=>
string(8) "DateTime"
}
[11]=>
[10]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(11) "setTimezone"
["class"]=>
string(8) "DateTime"
}
[12]=>
[11]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(9) "getOffset"
["class"]=>
string(8) "DateTime"
}
[13]=>
[12]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(7) "setTime"
["class"]=>
string(8) "DateTime"
}
[14]=>
[13]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(7) "setDate"
["class"]=>
string(8) "DateTime"
}
[15]=>
[14]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(10) "setISODate"
["class"]=>
string(8) "DateTime"
}
[16]=>
[15]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(12) "setTimestamp"
["class"]=>
string(8) "DateTime"
}
[17]=>
[16]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(12) "getTimestamp"
["class"]=>
string(8) "DateTime"
}
[18]=>
[17]=>
&object(ReflectionMethod)#%d (2) {
["name"]=>
string(4) "diff"

Loading…
Cancel
Save