Index: ext/date/lib/parse_date.c =================================================================== RCS file: /repository/php-src/ext/date/lib/parse_date.c,v retrieving revision 1.29.2.13 diff -u -p -d -r1.29.2.13 parse_date.c --- ext/date/lib/parse_date.c 29 Nov 2005 08:10:59 -0000 1.29.2.13 +++ ext/date/lib/parse_date.c 1 Dec 2005 13:23:45 -0000 @@ -21151,13 +21151,41 @@ yy1400: timelib_time* timelib_strtotime(char *s, int *errors, timelib_tzdb *tzdb) { Scanner in; - int t; + int t, i, s_len; + s_len = strlen(s); + for (i = 0; i < s_len; i++) { + int non_space = 1; + switch(s[i]) { + case '\r': + case '\n': + case ' ': + s++; + s_len--; + non_space = 0; + break; + } + if (non_space) break; + } + + for (i = s_len-1; i > 0; i--) { + int non_space = 1; + switch(s[i]) { + case '\r': + case '\n': + case ' ': + s_len--; + non_space = 0; + break; + } + if (non_space) break; + } + memset(&in, 0, sizeof(in)); - in.str = malloc(strlen(s) + YYMAXFILL); - memset(in.str, 0, strlen(s) + YYMAXFILL); - memcpy(in.str, s, strlen(s)); - in.lim = in.str + strlen(s) + YYMAXFILL; + in.str = malloc(s_len + YYMAXFILL); + memset(in.str, 0, s_len + YYMAXFILL); + memcpy(in.str, s, s_len); + in.lim = in.str + s_len + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1;