From 09e60946431b7495e213924e7406c9ad4a2eb39a Mon Sep 17 00:00:00 2001 From: localvar Date: Wed, 14 Aug 2019 19:11:51 +0800 Subject: [PATCH 1/2] fix bug in hex integer parse --- src/util/src/tutil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/src/tutil.c b/src/util/src/tutil.c index 019690bf37..0577843747 100644 --- a/src/util/src/tutil.c +++ b/src/util/src/tutil.c @@ -226,7 +226,7 @@ int64_t strnatoi(char *num, int32_t len) { } else { return 0; } - ret = dig * base; + ret += dig * base; } } else { for (i = len - 1; i >= 0; --i, base *= 10) { From e814ec4ca3ad254c8c24ef94617e1d12587b0f47 Mon Sep 17 00:00:00 2001 From: localvar Date: Wed, 14 Aug 2019 19:33:06 +0800 Subject: [PATCH 2/2] fix #349 --- src/util/src/ttime.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/util/src/ttime.c b/src/util/src/ttime.c index 0e749b5be9..05ba01979e 100644 --- a/src/util/src/ttime.c +++ b/src/util/src/ttime.c @@ -142,21 +142,15 @@ int32_t parseTimezone(char* str, int64_t* tzOffset) { i += 2; } - if (hour > 12) { + int64_t minute = strnatoi(&str[i], 2); + if (minute > 59) { return -1; } - int64_t sec = strnatoi(&str[i], 2); - if (sec > 70) { - return -1; - } - - sec += (hour * 3600); - if (str[0] == '+') { - *tzOffset = -sec; + *tzOffset = -(hour * 3600 + minute * 60); } else { - *tzOffset = sec; + *tzOffset = hour * 3600 + minute * 60; } return 0;