diff options
| author | John Keeping <john@keeping.me.uk> | 2016-02-08 15:06:27 +0000 | 
|---|---|---|
| committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-02-08 18:29:11 +0100 | 
| commit | 75298209bf8386656b82f185e2901690ac5b671c (patch) | |
| tree | 2b87a8890a1579b51dfc864ab247b05b4f1eced2 | |
| parent | 9c15f3c6954e43c5ffd36230e666eccf112803f2 (diff) | |
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
| @@ -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 @@ -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("</title>\n");  	html("<updated>"); -	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("</updated>\n");  	html("<author>\n");  	if (info->author) { @@ -55,7 +51,8 @@ static void add_entry(struct commit *commit, const char *host)  	}  	html("</author>\n");  	html("<published>"); -	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("</published>\n");  	if (host) {  		char *pageurl; | 
