summaryrefslogtreecommitdiff
path: root/ext/date/lib/parse_date.re
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2008-07-23 19:53:39 +0000
committerDerick Rethans <derick@php.net>2008-07-23 19:53:39 +0000
commit07c9bd8382cb4af513e5ba521dfbbb40da340197 (patch)
treeac0b8b1baf9c93edabf9bf7ca98de50d5398ac9e /ext/date/lib/parse_date.re
parentd1cc28ca317df858a66aef3b5d2dc2ebb265a997 (diff)
downloadphp-git-07c9bd8382cb4af513e5ba521dfbbb40da340197.tar.gz
- MFH: Fixed an issue with "first <weekday> of" in case the first <weekday> was
the same day-of-week as the first day of the month.
Diffstat (limited to 'ext/date/lib/parse_date.re')
-rw-r--r--ext/date/lib/parse_date.re7
1 files changed, 3 insertions, 4 deletions
diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
index d8ca59146a..8b48a80a0e 100644
--- a/ext/date/lib/parse_date.re
+++ b/ext/date/lib/parse_date.re
@@ -957,7 +957,7 @@ relative = relnumber space? (reltextunit | 'week' );
relativetext = (reltextnumber|reltexttext) space reltextunit;
relativetextweek = reltexttext space 'week';
-weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) ' of';
+weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of';
*/
@@ -1071,13 +1071,12 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) ' of';
i = timelib_get_relative_text((char **) &ptr, &behavior);
timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, behavior, s);
if (i > 0) { /* first, second... etc */
s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
- timelib_set_relative((char **) &ptr, i, behavior, s);
+ timelib_set_relative((char **) &ptr, i, 1, s);
} else { /* last */
s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
- timelib_set_relative((char **) &ptr, -i, behavior, s);
+ timelib_set_relative((char **) &ptr, i, behavior, s);
}
TIMELIB_DEINIT;
return TIMELIB_WEEK_DAY_OF_MONTH;