提交 7122f82f 编写于 作者: P Paul Eggert 提交者: Junio C Hamano

date.c: improve guess between timezone offset and year.

When match_digit() guesses a four-digit string to tell if it is
a year or a timezone, it did not consider that some real-world
places have UTC offsets equal to +1400.

   $ date; TZ=UTC0 date; TZ=Pacific/Kiritimati date
   Wed Jun  7 23:25:42 PDT 2006
   Thu Jun  8 06:25:42 UTC 2006
   Thu Jun  8 20:25:42 LINT 2006
Signed-off-by: NPaul Eggert <eggert@CS.UCLA.EDU>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 7612a1ef
......@@ -369,7 +369,7 @@ static int match_digit(const char *date, struct tm *tm, int *offset, int *tm_gmt
/* Four-digit year or a timezone? */
if (n == 4) {
if (num <= 1200 && *offset == -1) {
if (num <= 1400 && *offset == -1) {
unsigned int minutes = num % 100;
unsigned int hours = num / 100;
*offset = hours*60 + minutes;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册