index 47daba930c2831d267ad6665e3d0660a8027c719..7cdd3eaa3371202ed2016eec4cb2e9ec03545295 100644 (file)
--- a/tig.c
+++ b/tig.c
@@ -519,6 +519,7 @@ utf8_length(const char **start, size_t skip, int *width, size_t max_width, int *
#define DATE_INFO \
DATE_(NO), \
DATE_(DEFAULT), \
+ DATE_(LOCAL), \
DATE_(RELATIVE), \
DATE_(SHORT)
}
}
- gmtime_r(&time->sec, &tm);
+ if (date == DATE_LOCAL) {
+ time_t date = time->sec + time->tz;
+ localtime_r(&date, &tm);
+ }
+ else {
+ gmtime_r(&time->sec, &tm);
+ }
return strftime(buf, sizeof(buf), DATE_FORMAT, &tm) ? buf : NULL;
}
tz = ('0' - zone[1]) * 60 * 60 * 10;
tz += ('0' - zone[2]) * 60 * 60;
- tz += ('0' - zone[3]) * 60;
- tz += ('0' - zone[4]);
+ tz += ('0' - zone[3]) * 60 * 10;
+ tz += ('0' - zone[4]) * 60;
if (zone[0] == '-')
tz = -tz;