]> granicus.if.org Git - php/commitdiff
Fix bug #65502: DateTimeImmutable::createFromFormat returns DateTime
authorBoro Sitnikovski <bsitnikovski@sugarcrm.com>
Wed, 11 Sep 2013 23:50:52 +0000 (01:50 +0200)
committerNikita Popov <nikic@php.net>
Thu, 12 Sep 2013 13:21:45 +0000 (15:21 +0200)
DateTimeImmutable::createFromFormat should call
date_create_immutable_from_format instead of date_create_from_format

NEWS
ext/date/php_date.c
ext/date/tests/bug65502.phpt [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index 6575bd904510fd08da6300d4f4209100217cdb79..22cd0120e5864215ca0c92034a4c5d9a1cbba95d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,8 @@ PHP                                                                        NEWS
   . Fixed bug #65458 (curl memory leak). (Adam)
 
 - Datetime:
+  . Fixed bug #65502 (DateTimeImmutable::createFromFormat returns DateTime).
+    (Boro Sitnikovski)
   . Fixed bug #65548 (Comparison for DateTimeImmutable doesn't work).
     (Boro Sitnikovski)
   . Fixed bug #65554 (createFromFormat broken when weekday name is followed
index bb96227c261c23e4dd5114e64aa2d64b5fd32cf8..7d3d1d739e1131f20768dec4a4b8868bb0afe49f 100644 (file)
@@ -480,7 +480,7 @@ const zend_function_entry date_funcs_immutable[] = {
        PHP_ME(DateTimeImmutable, __construct,   arginfo_date_create, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC)
        PHP_ME(DateTime, __wakeup,       NULL, ZEND_ACC_PUBLIC)
        PHP_ME(DateTimeImmutable, __set_state,   NULL, 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(createFromFormat, date_create_immutable_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)
        PHP_ME_MAPPING(getTimezone, date_timezone_get,  arginfo_date_method_timezone_get, 0)
diff --git a/ext/date/tests/bug65502.phpt b/ext/date/tests/bug65502.phpt
new file mode 100644 (file)
index 0000000..8819c1f
--- /dev/null
@@ -0,0 +1,12 @@
+--TEST--
+Test for bug #65502: DateTimeImmutable::createFromFormat returns DateTime
+--CREDITS--
+Boro Sitnikovski <buritomath@yahoo.com>
+--INI--
+date.timezone = UTC
+--FILE--
+<?php
+echo get_class(DateTimeImmutable::createFromFormat('j-M-Y', '12-Sep-2013'));
+?>
+--EXPECT--
+DateTimeImmutable