From 75298209bf8386656b82f185e2901690ac5b671c Mon Sep 17 00:00:00 2001 From: John Keeping Date: Mon, 8 Feb 2016 15:06:27 +0000 Subject: [PATCH] ui-atom: avoid DATE_STRFTIME Git's DATE_STRFTIME ignores the timezone argument and just uses the local timezone regardless of whether the "local" flag is set. Since Atom accepts ISO8601 dates [1], we can use Git's DATE_ISO8601_STRICT instead, which does get this right. Additionally, we never use the local timezone here so we can use the date_mode_from_type() wrapper to simplify the code a bit. [1] https://tools.ietf.org/html/rfc4287#section-3.3 Signed-off-by: John Keeping --- cgit.h | 5 ----- ui-atom.c | 11 ++++------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/cgit.h b/cgit.h index 5adef4d..d10c799 100644 --- a/cgit.h +++ b/cgit.h @@ -29,11 +29,6 @@ #undef isgraph #define isgraph(x) (isprint((x)) && !isspace((x))) -/* - * Dateformats used on misc. pages - */ -#define FMT_ATOMDATE "%Y-%m-%dT%H:%M:%SZ" - /* * Limits used for relative dates diff --git a/ui-atom.c b/ui-atom.c index 0bf2cf2..41838d3 100644 --- a/ui-atom.c +++ b/ui-atom.c @@ -17,11 +17,6 @@ static void add_entry(struct commit *commit, const char *host) char *hex; char *mail, *t, *t2; struct commitinfo *info; - struct date_mode mode = { - .type = DATE_STRFTIME, - .strftime_fmt = FMT_ATOMDATE, - .local = 0, - }; info = cgit_parse_commit(commit); hex = oid_to_hex(&commit->object.oid); @@ -30,7 +25,8 @@ static void add_entry(struct commit *commit, const char *host) html_txt(info->subject); html("\n"); html(""); - html_txt(show_date(info->committer_date, 0, &mode)); + html_txt(show_date(info->committer_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); html("\n"); if (info->author) { @@ -55,7 +51,8 @@ static void add_entry(struct commit *commit, const char *host) } html("\n"); html(""); - html_txt(show_date(info->author_date, 0, &mode)); + html_txt(show_date(info->author_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); if (host) { char *pageurl;