summaryrefslogtreecommitdiff
path: root/time.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-02-16 19:36:20 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-02-16 20:34:23 +0900
commit296a2cab07ce530809ee74dee61180fbb3ca6f91 (patch)
tree4404f56f04e82c8ef31f39f25ad35e377b4864ba /time.c
parent5b7439bb7b1088ef5233175893229970cee339fd (diff)
Parse "-00:00" as UTC for the round-trip [Feature #17544]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4075
Diffstat (limited to 'time.c')
-rw-r--r--time.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/time.c b/time.c
index 050a52615f..bd79110c5e 100644
--- a/time.c
+++ b/time.c
@@ -2150,8 +2150,10 @@ utc_offset_arg(VALUE arg)
if (s[0] != '+' && s[0] != '-') goto invalid_utc_offset;
if (!ISDIGIT(s[1]) || !ISDIGIT(s[2])) goto invalid_utc_offset;
n += (s[1] * 10 + s[2] - '0' * 11) * 3600;
- if (s[0] == '-')
+ if (s[0] == '-') {
+ if (n == 0) return UTC_ZONE;
n = -n;
+ }
return INT2FIX(n);
}
else {