| tfix times (and timezone) - stagit - static git page generator | |
| git clone git://src.adamsgaard.dk/stagit | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 462ba66ee7e0ae16f41d4fff9c8540913c3941a9 | |
| parent 7a1da0b9853093781dd1b130d63619b17ecc8c01 | |
| Author: Hiltjo Posthuma <[email protected]> | |
| Date: Sun, 1 May 2016 16:10:17 +0200 | |
| fix times (and timezone) | |
| - in the index and log show the short time (GMT). | |
| - in the Atom feed use GMT time. | |
| - for commits show the time + offset. | |
| Diffstat: | |
| M stagit-index.c | 12 +++--------- | |
| M stagit.c | 38 ++++++++++++++++++++++-------… | |
| 2 files changed, 30 insertions(+), 20 deletions(-) | |
| --- | |
| diff --git a/stagit-index.c b/stagit-index.c | |
| t@@ -42,25 +42,19 @@ xmlencode(FILE *fp, const char *s, size_t len) | |
| } | |
| void | |
| -printtimeformat(FILE *fp, const git_time *intime, const char *fmt) | |
| +printtimeshort(FILE *fp, const git_time *intime) | |
| { | |
| struct tm *intm; | |
| time_t t; | |
| char out[32]; | |
| - t = (time_t) intime->time + (intime->offset * 60); | |
| + t = (time_t)intime->time; | |
| if (!(intm = gmtime(&t))) | |
| return; | |
| - strftime(out, sizeof(out), fmt, intm); | |
| + strftime(out, sizeof(out), "%Y-%m-%d %H:%M", intm); | |
| fputs(out, fp); | |
| } | |
| -void | |
| -printtimeshort(FILE *fp, const git_time *intime) | |
| -{ | |
| - printtimeformat(fp, intime, "%Y-%m-%d %H:%M"); | |
| -} | |
| - | |
| int | |
| writeheader(FILE *fp) | |
| { | |
| diff --git a/stagit.c b/stagit.c | |
| t@@ -268,35 +268,51 @@ mkdirp(const char *path) | |
| } | |
| void | |
| -printtimeformat(FILE *fp, const git_time *intime, const char *fmt) | |
| +printtimez(FILE *fp, const git_time *intime) | |
| { | |
| struct tm *intm; | |
| time_t t; | |
| char out[32]; | |
| - t = (time_t) intime->time + (intime->offset * 60); | |
| + t = (time_t)intime->time; | |
| if (!(intm = gmtime(&t))) | |
| return; | |
| - strftime(out, sizeof(out), fmt, intm); | |
| + strftime(out, sizeof(out), "%Y-%m-%dT%H:%M:%SZ", intm); | |
| fputs(out, fp); | |
| } | |
| void | |
| -printtimez(FILE *fp, const git_time *intime) | |
| -{ | |
| - printtimeformat(fp, intime, "%Y-%m-%dT%H:%M:%SZ"); | |
| -} | |
| - | |
| -void | |
| printtime(FILE *fp, const git_time *intime) | |
| { | |
| - printtimeformat(fp, intime, "%a %b %e %T %Y"); | |
| + struct tm *intm; | |
| + time_t t; | |
| + int offset, sign = '+'; | |
| + char out[32]; | |
| + | |
| + offset = intime->offset * 60; | |
| + t = (time_t)intime->time + offset; | |
| + if (!(intm = gmtime(&t))) | |
| + return; | |
| + strftime(out, sizeof(out), "%a %b %e %H:%M:%S", intm); | |
| + if (offset < 0) { | |
| + offset = -offset; | |
| + sign = '-'; | |
| + } | |
| + fprintf(fp, "%s %c%02d%02d", out, sign, offset / 60, offset % 60); | |
| } | |
| void | |
| printtimeshort(FILE *fp, const git_time *intime) | |
| { | |
| - printtimeformat(fp, intime, "%Y-%m-%d %H:%M"); | |
| + struct tm *intm; | |
| + time_t t; | |
| + char out[32]; | |
| + | |
| + t = (time_t)intime->time; | |
| + if (!(intm = gmtime(&t))) | |
| + return; | |
| + strftime(out, sizeof(out), "%Y-%m-%d %H:%M", intm); | |
| + fputs(out, fp); | |
| } | |
| int |