|
|
|
@ -14302,7 +14302,7 @@ static void start_timestamp_zone(upb_json_parser *p, const char *ptr) { |
|
|
|
|
static bool end_timestamp_zone(upb_json_parser *p, const char *ptr) { |
|
|
|
|
size_t len; |
|
|
|
|
const char *buf; |
|
|
|
|
int hours; |
|
|
|
|
int hours = 0; |
|
|
|
|
int64_t seconds; |
|
|
|
|
const char *seconds_membername = "seconds"; |
|
|
|
|
|
|
|
|
@ -14322,12 +14322,11 @@ static bool end_timestamp_zone(upb_json_parser *p, const char *ptr) { |
|
|
|
|
if (buf[0] == '+') { |
|
|
|
|
hours = -hours; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
p->tm.tm_hour += hours; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Normalize tm */ |
|
|
|
|
seconds = mktime(&p->tm); |
|
|
|
|
seconds = timegm(&p->tm); |
|
|
|
|
seconds += 3600 * hours; |
|
|
|
|
|
|
|
|
|
/* Check timestamp boundary */ |
|
|
|
|
if (seconds < -62135596800) { |
|
|
|
|