diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index fbe330700b3a5..92e9ad27d777c 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Mon Dec 5 22:02:27 2011 */ +/* Generated by re2c 0.13.5 on Sun Aug 5 16:55:20 2012 */ #line 1 "ext/date/lib/parse_date.re" /* +----------------------------------------------------------------------+ @@ -24823,6 +24823,7 @@ timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; + in.time->relative.days = TIMELIB_UNSET; do { t = scan(&in, tz_get_wrapper); diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index 16c45a2119829..7124791e999b4 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -1830,6 +1830,7 @@ timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; + in.time->relative.days = TIMELIB_UNSET; do { t = scan(&in, tz_get_wrapper); diff --git a/ext/date/tests/bug60774.phpt b/ext/date/tests/bug60774.phpt new file mode 100644 index 0000000000000..af8f4471d3453 --- /dev/null +++ b/ext/date/tests/bug60774.phpt @@ -0,0 +1,30 @@ +--TEST-- +Bug #60774 (DateInterval::format("%a") is always zero when an interval is created using the createFromDateString method) +--FILE-- +format("%d"), "\n"; +echo $i->format("%a"), "\n"; +?> +--EXPECT-- +object(DateInterval)#1 (8) { + ["y"]=> + int(0) + ["m"]=> + int(0) + ["d"]=> + int(2) + ["h"]=> + int(0) + ["i"]=> + int(0) + ["s"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + bool(false) +} +2 +(unknown)