From: Derick Rethans Date: Mon, 6 Mar 2006 21:44:58 +0000 (+0000) Subject: - MFH: Fixed bug #36638 (strtotime() returns false when 2nd argument < 1). X-Git-Tag: php-5.1.3RC1~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5bfe560cab0532054e48737e8ea4bf2fa8ec00ff;p=php - MFH: Fixed bug #36638 (strtotime() returns false when 2nd argument < 1). (Derick) --- diff --git a/NEWS b/NEWS index 5da6aff0e8..fdf3b82700 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,7 @@ PHP NEWS - Fixed tiger hash algorithm generating wrong results on big endian platforms. (Mike) - Fixed crash with DOMImplementation::createDocumentType("name:"). (Mike) +- Fixed bug #36638 (strtotime() returns false when 2nd argument < 1). (Derick) - Fixed bug #36611 (assignment to SimpleXML object attribute changes argument type to string). (Tony) - Fixed bug #36606 (pg_query_params() changes arguments type to string). (Tony) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 3b32610078..4c90f5f459 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.12 on Mon Feb 27 20:39:38 2006 */ +/* Generated by re2c 0.9.12 on Mon Mar 6 22:37:54 2006 */ #line 1 "ext/date/lib/parse_date.re" /* +----------------------------------------------------------------------+ @@ -1139,7 +1139,7 @@ yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych == '-') goto yy1185; - if(yych <= '0') goto yy12; + if(yych <= '/') goto yy12; if(yych <= '9') goto yy1186; goto yy12; yy12: @@ -16619,7 +16619,7 @@ yy1184: yy1185: YYDEBUG(1185, *YYCURSOR); yych = *++YYCURSOR; - if(yych <= '0') goto yy53; + if(yych <= '/') goto yy53; if(yych >= ':') goto yy53; goto yy1186; yy1186: diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index c763204b79..7d65c76bb0 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -825,7 +825,7 @@ exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" sec clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ -timestamp = "@" "-"? [1-9] [0-9]*; +timestamp = "@" "-"? [0-9]+; /* To fix some ambiguities */ dateshortwithtimeshort = datenoyear timeshort24; diff --git a/ext/date/php_date.c b/ext/date/php_date.c index eb94dbe8ca..758c019106 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -826,7 +826,7 @@ PHP_FUNCTION(strtotime) now = timelib_time_ctor(); initial_ts = emalloc(25); - snprintf(initial_ts, 24, "@%lu", preset_ts); + snprintf(initial_ts, 24, "@%ld", preset_ts); t = timelib_strtotime(initial_ts, strlen(initial_ts), &error1, DATE_TIMEZONEDB); /* we ignore the error here, as this should never fail */ timelib_update_ts(t, tzi); now->tz_info = tzi;