diff options
author | John Keeping | 2016-02-08 15:06:27 +0000 |
---|---|---|
committer | Jason A. Donenfeld | 2016-02-08 18:29:11 +0100 |
commit | 75298209bf8386656b82f185e2901690ac5b671c (patch) | |
tree | 2b87a8890a1579b51dfc864ab247b05b4f1eced2 | |
parent | Avoid DATE_STRFTIME for long/short dates (diff) | |
download | cgit-75298209bf8386656b82f185e2901690ac5b671c.tar.gz cgit-75298209bf8386656b82f185e2901690ac5b671c.zip |
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 <john@keeping.me.uk>
-rw-r--r-- | cgit.h | 5 | ||||
-rw-r--r-- | 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 @@ | |||
29 | #undef isgraph | 29 | #undef isgraph |
30 | #define isgraph(x) (isprint((x)) && !isspace((x))) | 30 | #define isgraph(x) (isprint((x)) && !isspace((x))) |
31 | 31 | ||
32 | /* | ||
33 | * Dateformats used on misc. pages | ||
34 | */ | ||
35 | #define FMT_ATOMDATE "%Y-%m-%dT%H:%M:%SZ" | ||
36 | |||
37 | 32 | ||
38 | /* | 33 | /* |
39 | * Limits used for relative dates | 34 | * 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) | |||
17 | char *hex; | 17 | char *hex; |
18 | char *mail, *t, *t2; | 18 | char *mail, *t, *t2; |
19 | struct commitinfo *info; | 19 | struct commitinfo *info; |
20 | struct date_mode mode = { | ||
21 | .type = DATE_STRFTIME, | ||
22 | .strftime_fmt = FMT_ATOMDATE, | ||
23 | .local = 0, | ||
24 | }; | ||
25 | 20 | ||
26 | info = cgit_parse_commit(commit); | 21 | info = cgit_parse_commit(commit); |
27 | hex = oid_to_hex(&commit->object.oid); | 22 | hex = oid_to_hex(&commit->object.oid); |
@@ -30,7 +25,8 @@ static void add_entry(struct commit *commit, const char *host) | |||
30 | html_txt(info->subject); | 25 | html_txt(info->subject); |
31 | html("</title>\n"); | 26 | html("</title>\n"); |
32 | html("<updated>"); | 27 | html("<updated>"); |
33 | html_txt(show_date(info->committer_date, 0, &mode)); | 28 | html_txt(show_date(info->committer_date, 0, |
29 | date_mode_from_type(DATE_ISO8601_STRICT))); | ||
34 | html("</updated>\n"); | 30 | html("</updated>\n"); |
35 | html("<author>\n"); | 31 | html("<author>\n"); |
36 | if (info->author) { | 32 | if (info->author) { |
@@ -55,7 +51,8 @@ static void add_entry(struct commit *commit, const char *host) | |||
55 | } | 51 | } |
56 | html("</author>\n"); | 52 | html("</author>\n"); |
57 | html("<published>"); | 53 | html("<published>"); |
58 | html_txt(show_date(info->author_date, 0, &mode)); | 54 | html_txt(show_date(info->author_date, 0, |
55 | date_mode_from_type(DATE_ISO8601_STRICT))); | ||
59 | html("</published>\n"); | 56 | html("</published>\n"); |
60 | if (host) { | 57 | if (host) { |
61 | char *pageurl; | 58 | char *pageurl; |