cgit

commit 75298209bf8386656b82f185e2901690ac5b671c

Author: John Keeping <john@keeping.me.uk>

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>

 cgit.h | 5 -----
 ui-atom.c | 11 ++++-------


diff --git a/cgit.h b/cgit.h
index 5adef4dddda0a7e27123ba82be51ce0e46837315..d10c79972331db7f7fe0b9c9a283474ef75c9476 100644
--- a/cgit.h
+++ b/cgit.h
@@ -29,11 +29,6 @@ /* Add isgraph(x) to Git's sane ctype support (see git-compat-util.h) */
 #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 0bf2cf20c7af1834dfcd8b4eaa1dcff08471499b..41838d38b7acb2381dd17e509e330da6678e452c 100644
--- a/ui-atom.c
+++ b/ui-atom.c
@@ -17,11 +17,6 @@ 	char delim = '&';
 	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 @@ 	html("");
<span class="diff-equal"> 	html_txt(info->subject);</span>
<span class="diff-equal"> 	html("</title>\n");</span>
<span class="diff-equal"> 	html("<updated>");</span>
<span class="diff-delete">-	html_txt(show_date(info->committer_date, 0, &mode));</span>
<span class="diff-add">+	html_txt(show_date(info->committer_date, 0,</span>
<span class="diff-add">+                    date_mode_from_type(DATE_ISO8601_STRICT)));</span>
<span class="diff-equal"> 	html("</updated>\n");</span>
<span class="diff-equal"> 	html("<author>\n");</span>
<span class="diff-equal"> 	if (info->author) {</span>
@@ -55,7 +51,8 @@ 		free(mail);
<span class="diff-equal"> 	}</span>
<span class="diff-equal"> 	html("</author>\n");</span>
<span class="diff-equal"> 	html("<published>");</span>
<span class="diff-delete">-	html_txt(show_date(info->author_date, 0, &mode));</span>
<span class="diff-add">+	html_txt(show_date(info->author_date, 0,</span>
<span class="diff-add">+                    date_mode_from_type(DATE_ISO8601_STRICT)));</span>
<span class="diff-equal"> 	html("</published>\n");</span>
<span class="diff-equal"> 	if (host) {</span>
<span class="diff-equal"> 		char *pageurl;</span>
</pre>
</div>


    </div>
  </body>
</html>