From 49dc424ff304149a847880f7c6c19179668f94de Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 30 Oct 2022 01:10:16 +0900 Subject: [ruby/date] Remove `extz_pats` table https://github.com/ruby/date/commit/945e26e243 --- ext/date/date_strptime.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'ext/date') diff --git a/ext/date/date_strptime.c b/ext/date/date_strptime.c index 53b48d5105..7d61347c31 100644 --- a/ext/date/date_strptime.c +++ b/ext/date/date_strptime.c @@ -18,12 +18,6 @@ static const char *month_names[] = { "October", "November", "December", }; -static const char *extz_pats[] = { - ":z", - "::z", - ":::z" -}; - #define sizeof_array(o) (sizeof o / sizeof o[0]) #define f_negate(x) rb_funcall(x, rb_intern("-@"), 0) @@ -185,12 +179,11 @@ date__strptime_internal(const char *str, size_t slen, { int i; - for (i = 0; i < (int)sizeof_array(extz_pats); i++) - if (strncmp(extz_pats[i], &fmt[fi], - strlen(extz_pats[i])) == 0) { - fi += i; - goto again; - } + for (i = 1; i < 3 && fi + i < flen && fmt[fi+i] == ':'; ++i); + if (fmt[fi+i] == 'z') { + fi += i - 1; + goto again; + } fail(); } -- cgit v1.2.3