diff options
Diffstat (limited to 'ext/date/date_strptime.c')
-rw-r--r-- | ext/date/date_strptime.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/date/date_strptime.c b/ext/date/date_strptime.c index 26d9fd11bf..4383eb6fa1 100644 --- a/ext/date/date_strptime.c +++ b/ext/date/date_strptime.c @@ -669,7 +669,7 @@ date__strptime(const char *str, size_t slen, if (fail_p()) return Qnil; - cent = del_hash("_cent"); + cent = ref_hash("_cent"); if (!NIL_P(cent)) { VALUE year; @@ -679,9 +679,10 @@ date__strptime(const char *str, size_t slen, year = ref_hash("year"); if (!NIL_P(year)) set_hash("year", f_add(year, f_mul(cent, INT2FIX(100)))); + del_hash("_cent"); } - merid = del_hash("_merid"); + merid = ref_hash("_merid"); if (!NIL_P(merid)) { VALUE hour; @@ -690,6 +691,7 @@ date__strptime(const char *str, size_t slen, hour = f_mod(hour, INT2FIX(12)); set_hash("hour", f_add(hour, merid)); } + del_hash("_merid"); } return hash; |