]> granicus.if.org Git - php/commitdiff
Revert "Merge branch 'PHP-5.5' into PHP-5.6"
authorStanislav Malyshev <stas@php.net>
Wed, 1 Apr 2015 19:48:08 +0000 (12:48 -0700)
committerStanislav Malyshev <stas@php.net>
Wed, 1 Apr 2015 19:49:25 +0000 (12:49 -0700)
This reverts commit aa22e80b1af500e5d6cdc0f7783537a768d0e373, reversing
changes made to 3e7f47cb039fd8803776eaf2899d576c503cdb63.

Conflicts:
ext/date/php_date.c

NEWS
UPGRADING
ext/date/php_date.c
ext/date/php_date.h
ext/date/tests/DateTime_createFromImmutable.phpt [deleted file]
ext/date/tests/DateTime_verify.phpt

diff --git a/NEWS b/NEWS
index 2646192f5ba4f9d735221081e3d85a4760bb940e..ae338e743762472cfb7aa3e963a48e5d1fc16afc 100644 (file)
--- a/NEWS
+++ b/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)
index 45c96b8e5657f38c2d788c3c2f825a70a91ccbf9..52f139de28939e2ab17cf5c564619490c8fa901f 100644 (file)
--- a/UPGRADING
+++ b/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.
index c892c86da1b7bd88e0b8cfd892b41356a053da40..ca61fb7b686bdf53983115f96aa7b2760b84f959 100644 (file)
@@ -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)
 {
index d599e8fb37ecc5f29f2024051b6eb9d1d25a1fe2..34b8a8ebd3cade28fa701917ef9754d3968a717f 100644 (file)
@@ -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);
diff --git a/ext/date/tests/DateTime_createFromImmutable.phpt b/ext/date/tests/DateTime_createFromImmutable.phpt
deleted file mode 100644 (file)
index bfde94d..0000000
+++ /dev/null
@@ -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
index aa13494d259ad352cf0f94e30e1c2a618d5b3110..c7909747292ac3cf1cccc07c7512383db6a3eacc 100644 (file)
@@ -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"