diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | ext/date/date_parse.c | 10 |
2 files changed, 9 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Sat Nov 3 14:46:15 2012 Tadayoshi Funaba <tadf@dotrb.org> + + * ext/date/date_parse.c (date__parse): revised the tight parser. + Sat Nov 3 14:43:42 2012 Kouhei Sutou <kou@cozmixng.org> * lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A diff --git a/ext/date/date_parse.c b/ext/date/date_parse.c index 7ac9e79836..f431252e9a 100644 --- a/ext/date/date_parse.c +++ b/ext/date/date_parse.c @@ -224,9 +224,9 @@ s3e(VALUE hash, VALUE y, VALUE m, VALUE d, int bc) #define ABBR_MONTHS "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec" #ifdef TIGHT_PARSER -#define VALID_DAYS "(?:" DAYS ")\\b" "|(?:tues|wednes|thur|thurs|" ABBR_DAYS ")\\b\\.?" -#define VALID_MONTHS "(?:" MONTHS ")\\b" "|(?:sept|" ABBR_MONTHS ")\\b\\.?" -#define DOTLESS_VALID_MONTHS "(?:" MONTHS ")\\b" "|(?:sept|" ABBR_MONTHS ")\\b" +#define VALID_DAYS "(?:" DAYS ")" "|(?:tues|wednes|thurs|thur|" ABBR_DAYS ")\\.?" +#define VALID_MONTHS "(?:" MONTHS ")" "|(?:sept|" ABBR_MONTHS ")\\.?" +#define DOTLESS_VALID_MONTHS "(?:" MONTHS ")" "|(?:sept|" ABBR_MONTHS ")" #define BOS "\\A\\s*" #define FPW "\\027" #define FPT "\\024" @@ -804,7 +804,7 @@ parse_eu(VALUE str, VALUE hash) #ifndef TIGHT_PARSER "'?(\\d+)[^-\\d\\s]*" #else - "(\\d+)(?:st|nd|rd|th)?\\b" + "(\\d+)(?:(?:st|nd|rd|th)\\b)?" #endif "\\s*" #ifndef TIGHT_PARSER @@ -881,7 +881,7 @@ parse_us(VALUE str, VALUE hash) #ifndef TIGHT_PARSER "('?\\d+)[^-\\d\\s']*" #else - "(\\d+)(?:st|nd|rd|th)?\\b" + "(\\d+)(?:(?:st|nd|rd|th)\\b)?" COM_FPT #endif "(?:" |