author | Lars Hjemli <hjemli@gmail.com> | 2007-12-02 21:11:35 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-12-02 21:27:07 (UTC) |
commit | fc4c4ba3a99f4fe4bd8a42caca902269d2e0b678 (patch) (side-by-side diff) | |
tree | b45ed1a2e08360977df3c4a7c1dc5af32dae2751 /ui-shared.c | |
parent | 5b75064a81f9fe8f8a446a4be050fe3dfcf52b89 (diff) | |
download | cgit-fc4c4ba3a99f4fe4bd8a42caca902269d2e0b678.zip cgit-fc4c4ba3a99f4fe4bd8a42caca902269d2e0b678.tar.gz cgit-fc4c4ba3a99f4fe4bd8a42caca902269d2e0b678.tar.bz2 |
Handle missing timestamp in commit/tag objects
When a commit or tag lacks author/committer/tagger timestamp, do not skip
the next line in the commit/tag object.
Also, do not bother to print timestamps with value 0 as it is close to certain
to be bogus.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-shared.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c index 72a7b44..4944dfd 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -295,33 +295,37 @@ void cgit_object_link(struct object *obj) fmt("%s=%s", arg, sha1_to_hex(obj->sha1))); html_link_open(url, NULL, NULL); htmlf("%s %s", typename(obj->type), sha1_to_hex(obj->sha1)); html_link_close(); } void cgit_print_date(time_t secs, char *format) { char buf[64]; struct tm *time; + if (!secs) + return; time = gmtime(&secs); strftime(buf, sizeof(buf)-1, format, time); html_txt(buf); } void cgit_print_age(time_t t, time_t max_relative, char *format) { time_t now, secs; + if (!t) + return; time(&now); secs = now - t; if (secs > max_relative && max_relative >= 0) { cgit_print_date(t, format); return; } if (secs < TM_HOUR * 2) { htmlf("<span class='age-mins'>%.0f min.</span>", secs * 1.0 / TM_MIN); return; |