From d55aa2bf6757d494f2c2da42a0be13e34de7da0c Mon Sep 17 00:00:00 2001 From: tadf Date: Sat, 3 Nov 2012 05:47:32 +0000 Subject: [PATCH] * ext/date/date_parse.c (date__parse): revised the tight parser. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ ext/date/date_parse.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1db6c476d8..a5439e935b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Nov 3 14:46:15 2012 Tadayoshi Funaba + + * ext/date/date_parse.c (date__parse): revised the tight parser. + Sat Nov 3 14:43:42 2012 Kouhei Sutou * 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 "(?:"