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>
This commit is contained in:
parent
9c15f3c695
commit
75298209bf
5
cgit.h
5
cgit.h
@ -29,11 +29,6 @@
|
|||||||
#undef isgraph
|
#undef isgraph
|
||||||
#define isgraph(x) (isprint((x)) && !isspace((x)))
|
#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
|
* Limits used for relative dates
|
||||||
|
11
ui-atom.c
11
ui-atom.c
@ -17,11 +17,6 @@ static void add_entry(struct commit *commit, const char *host)
|
|||||||
char *hex;
|
char *hex;
|
||||||
char *mail, *t, *t2;
|
char *mail, *t, *t2;
|
||||||
struct commitinfo *info;
|
struct commitinfo *info;
|
||||||
struct date_mode mode = {
|
|
||||||
.type = DATE_STRFTIME,
|
|
||||||
.strftime_fmt = FMT_ATOMDATE,
|
|
||||||
.local = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
info = cgit_parse_commit(commit);
|
info = cgit_parse_commit(commit);
|
||||||
hex = oid_to_hex(&commit->object.oid);
|
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_txt(info->subject);
|
||||||
html("</title>\n");
|
html("</title>\n");
|
||||||
html("<updated>");
|
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("</updated>\n");
|
||||||
html("<author>\n");
|
html("<author>\n");
|
||||||
if (info->author) {
|
if (info->author) {
|
||||||
@ -55,7 +51,8 @@ static void add_entry(struct commit *commit, const char *host)
|
|||||||
}
|
}
|
||||||
html("</author>\n");
|
html("</author>\n");
|
||||||
html("<published>");
|
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");
|
html("</published>\n");
|
||||||
if (host) {
|
if (host) {
|
||||||
char *pageurl;
|
char *pageurl;
|
||||||
|
Loading…
Reference in New Issue
Block a user