X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/f60ffa143cca61e9729ac71033e1a556cf422871..aee39b4e9a45e1ba507c0017de50bb9dbbae7af8:/ui-atom.c diff --git a/ui-atom.c b/ui-atom.c index b22d745..5f4ad7d 100644 --- a/ui-atom.c +++ b/ui-atom.c @@ -19,13 +19,14 @@ static void add_entry(struct commit *commit, const char *host) struct commitinfo *info; info = cgit_parse_commit(commit); - hex = sha1_to_hex(commit->object.sha1); + hex = oid_to_hex(&commit->object.oid); html("\n"); html(""); html_txt(info->subject); html("\n"); html(""); - cgit_print_date(info->committer_date, FMT_ATOMDATE, 0); + html_txt(show_date(info->committer_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); html("\n"); if (info->author) { @@ -50,41 +51,41 @@ static void add_entry(struct commit *commit, const char *host) } html("\n"); html(""); - cgit_print_date(info->author_date, FMT_ATOMDATE, 0); + html_txt(show_date(info->author_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); if (host) { + char *pageurl; html("\n"); + free(pageurl); } - htmlf("%s\n", hex); + html(""); + html_txtf("urn:%s:%s", the_hash_algo->name, hex); + html("\n"); html("\n"); html_txt(info->msg); html("\n"); - html("\n"); - html("\n"); - html("\n"); - html_txt(info->msg); - html("\n"); - html("\n"); - html("\n"); html("\n"); cgit_free_commitinfo(info); } -void cgit_print_atom(char *tip, char *path, int max_count) +void cgit_print_atom(char *tip, const char *path, int max_count) { - const char *host; + char *host; const char *argv[] = {NULL, tip, NULL, NULL, NULL}; struct commit *commit; struct rev_info rev; int argc = 2; + bool first = true; if (ctx.qry.show_all) argv[1] = "--all"; @@ -125,18 +126,32 @@ void cgit_print_atom(char *tip, char *path, int max_count) html_txt(ctx.repo->desc); html("\n"); if (host) { + char *fullurl = cgit_currentfullurl(); + char *repourl = cgit_repourl(ctx.repo->url); + html(""); + html_txtf("%s%s%s", cgit_httpscheme(), host, fullurl); + html("\n"); + html("\n"); html("\n"); + free(fullurl); + free(repourl); } while ((commit = get_revision(&rev)) != NULL) { + if (first) { + html(""); + html_txt(show_date(commit->date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); + html("\n"); + first = false; + } add_entry(commit, host); - free(commit->buffer); - commit->buffer = NULL; - free_commit_list(commit->parents); + release_commit_memory(the_repository->parsed_objects, commit); commit->parents = NULL; } html("\n"); + free(host); }
\n"); - html_txt(info->msg); - html("