Commit graph

570 commits

Author SHA1 Message Date
Dmitry Stogov
f4cfaf36e2 Use better data structures (incomplete) 2014-02-10 10:04:30 +04:00
Derick Rethans
d676396435 Implemented feature #45528: Allow the DateTimeZone constructor to accept timezones per offset too. 2014-02-09 15:47:48 -05:00
Derick Rethans
7399386a20 Merge branch 'PHP-5.4' into PHP-5.5 2014-01-26 14:02:37 +01:00
Derick Rethans
22dba2f5f3 Fixed bug #45543: DateTime::setTimezone can not set timezones without ID. 2014-01-26 14:01:58 +01:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Derick Rethans
5137cb5f0c Fixed (some of) add/sub.
This worked in PHP 5.4 already, but with the introduction of DateTimeImmutable
this code was not correctly merged.
2014-01-02 12:45:48 +00:00
nikita2206
5f09944662 Fixed bug #65768: DateTimeImmutable::diff does not work
This commit also prevents user classes from directly implementing
DateTimeInterface, because ext/date relies on classes implementing
it to support certain internal structures.
2013-11-29 23:31:07 +01:00
Derick Rethans
88067b6e60 Merge branch 'PHP-5.4' into PHP-5.5
Conflicts:
	ext/date/php_date.c
2013-11-28 14:30:08 +00:00
Derick Rethans
5d0c526199 Move add/sub to timelib. 2013-11-28 12:02:36 +00:00
Derick Rethans
44a9e6b484 Fixed "Forward Transition" construction of DateTime objects.
This fixes the issue in
https://wiki.php.net/rfc/datetime_and_daylight_saving_time#forward_transitions
There is a period during transition to DST where a time (such as 02:30) does
not exist. PHP already calculated the correct timestamp for this, but failed to
"rounded forward" to the existing correct hour value.
2013-11-28 12:02:35 +00:00
Derick Rethans
4587ef569a Merge branch 'PHP-5.4' into PHP-5.5 2013-11-27 22:01:03 +00:00
Derick Rethans
23ab2575e1 Fixed bug #53879 (DateTime::createFromFormat() fails to parse cookie expiration date) 2013-11-27 21:59:46 +00:00
Stanislav Malyshev
cb47396d46 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix memory leak on error (from Coverity scan)
2013-10-21 00:02:21 -07:00
Stanislav Malyshev
f860486de5 fix memory leak on error (from Coverity scan) 2013-10-21 00:01:24 -07:00
Boro Sitnikovski
165f544ae9 Fix bug #65502: DateTimeImmutable::createFromFormat returns DateTime
DateTimeImmutable::createFromFormat should call
date_create_immutable_from_format instead of date_create_from_format
2013-09-12 15:21:45 +02:00
Boro Sitnikovski
d7f5f1ef35 Fix bug #65548: Comparison for DateTimeImmutable doesn't work 2013-09-12 15:12:16 +02:00
Remi Collet
6fab1caa41 Fixed bug #65564 stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer 2013-08-30 10:45:33 +02:00
Remi Collet
a5749eb0cb Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed Bug #65564 stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer
2013-08-30 10:43:12 +02:00
Remi Collet
d69513afec Fixed Bug #65564 stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer 2013-08-30 10:42:08 +02:00
Stanislav Malyshev
c0bfccafd2 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix DateInterval->days value when object was created not from DateTime::diff()
2013-08-24 23:38:54 -07:00
Alexander Moskalev
b378b0b081 Fix DateInterval->days value when object was created not from DateTime::diff() 2013-08-24 23:38:33 -07:00
Christopher Jones
39612afc72 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings.

Conflicts:
	ext/dba/libinifile/inifile.c
2013-08-14 20:43:25 -07:00
Christopher Jones
9ad97cd489 Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings. 2013-08-14 20:36:50 -07:00
Stanislav Malyshev
c793a65690 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  non living code related typo fixes

Conflicts:
	Zend/zend_compile.c
2013-08-04 16:06:24 -07:00
Veres Lajos
8d86597d73 non living code related typo fixes 2013-08-04 16:05:36 -07:00
Anatol Belski
5324416b65 Fixed bug #65184 strftime() returns insufficient-length
string under multibyte locales

The msdn doc states 'strftime returns the number of characters', but prior
to VS2012 it seems to have returned the number of bytes. Locale independent.
The return is however \0-terminated, so strlen is just fine. The behaivor
seems to be persisting in the later VC++ versions as the corresponding
MSDN ticket is closed 'by design'.

See http://connect.microsoft.com/VisualStudio/feedback/details/766205/vs2012-strftime-has-incorrect-return-value-in-vc-11-with-multibyte-codepages#details
2013-07-03 11:12:46 +02:00
Anatol Belski
0f9cf35315 Backported the fix for bug #53437 2013-06-10 19:52:29 +02:00
Anatol Belski
02f3922047 Fix a BC breach related to bug #53437
days and special_amount properties are exported as int again
2013-06-10 17:48:13 +02:00
Anatol Belski
e44849b0f4 Fixed bug #64825 Invalid free unserializing DateTimeZone 2013-05-12 21:29:16 +02:00
David Soria Parra
75cec90d8c Fix #64712 (Obsolete declarations in php_date.c) 2013-04-26 10:45:08 +02:00
Xinchen Hui
2f6b9b970c Fix typo (it's in DateTime::__wakeup) 2013-03-31 20:07:14 +08:00
Lonny Kapelushnik
58a8013e5f Rebased to PHP-5.4
Implemented Dmitrys change from df97c3aa0d
Moved the timelib_parse_tz_cor function to ext/date/lib/timelib.c
2013-03-31 10:45:01 +01:00
Lonny Kapelushnik
a4ca01cc2b Made separate tests for each TZ type
Fixed handling of unserializing types 1 and 3
2013-03-31 10:45:00 +01:00
Lonny Kapelushnik
30d0ae42b5 Bug 54567 DateTimeZone serialize/unserialize
Make DateTimeZone serializable and implement __set_state
2013-03-31 10:45:00 +01:00
Derick Rethans
68a7fec7af Make DateTime and DateTimeImmutable siblings.
They both implement the DateTimeInterface interface, which specifies the
non-modifying methods of DateTime/DateTimeImmutable.
2013-03-31 10:37:16 +01:00
Anatol Belski
cfd096fd7c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Backported fix for bug #62852
2013-03-19 21:22:09 +01:00
Anatol Belski
8d199c7c4f Backported fix for bug #62852 2013-03-19 21:19:55 +01:00
Anatol Belski
fa3fc711d3 setting plausible default value for struct members
especially for unsigned members so they don't casted to max unsigned
2013-03-16 18:29:50 +01:00
Anatol Belski
f8b91d9acf Fixed bug #62852 Unserialize Invalid Date crash
Error handling is the same as in bug #53437, E_ERROR if we
expect an invalid object.
2013-03-15 21:22:35 +01:00
Anatol Belski
0ee71557ff Fixed bug #53437 Crash with unserialized DatePeriod instance 2013-03-15 16:59:54 +01:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Anatol Belski
8589dfb6cc simplified the previous fix for #64359 2013-03-06 16:48:51 +01:00
Anatol Belski
371000a877 Fixed bug #64359 strftime crash with VS2012 2013-03-06 12:37:57 +01:00
Xinchen Hui
4eae087296 Fixed bug #63988 (Two Date tests fail) only for PHP-5.5 2013-01-18 15:49:36 +08:00
Felipe Pena
2f7aafe992 - Fixed ZTS build 2013-01-15 19:59:23 -02:00
Andrey Hristov
5cfa916aad revert change. now it doesn't compile again...someone should fix ext/date... 2013-01-15 12:20:58 +01:00
Andrey Hristov
acc24d1f9e Use two dtors thus allow allocation based on the alloc model of the
connection.
2013-01-15 12:19:52 +01:00
Derick Rethans
c20911a850 Make DatePeriod support DateTimeImmutable as well.
If the start element is a DateTimeImmutable object, then all returned objects
are also DateTimeImmutable objects. If the start element is a DateTime object,
then all returned objects are DateTime objects.
2013-01-14 20:34:58 +00:00