Diffstat (limited to 'ui-atom.c')
| -rw-r--r-- | ui-atom.c | 40 |
1 files changed, 15 insertions, 25 deletions
@@ -6,8 +6,6 @@ * (see COPYING for full license text) */ -#define USE_THE_REPOSITORY_VARIABLE - #include "cgit.h" #include "ui-atom.h" #include "html.h" @@ -69,25 +67,29 @@ static void add_entry(struct commit *commit, const char *host) html("'/>\n"); free(pageurl); } - html("<id>"); - html_txtf("urn:%s:%s", the_hash_algo->name, hex); - html("</id>\n"); + htmlf("<id>%s</id>\n", hex); html("<content type='text'>\n"); html_txt(info->msg); html("</content>\n"); + html("<content type='xhtml'>\n"); + html("<div xmlns='http://www.w3.org/1999/xhtml'>\n"); + html("<pre>\n"); + html_txt(info->msg); + html("</pre>\n"); + html("</div>\n"); + html("</content>\n"); html("</entry>\n"); cgit_free_commitinfo(info); } -void cgit_print_atom(char *tip, const char *path, int max_count) +void cgit_print_atom(char *tip, char *path, int max_count) { 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"; @@ -99,7 +101,7 @@ void cgit_print_atom(char *tip, const char *path, int max_count) argv[argc++] = path; } - repo_init_revisions(the_repository, &rev, NULL); + init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.commit_format = CMIT_FMT_DEFAULT; rev.verbose_header = 1; @@ -128,30 +130,18 @@ void cgit_print_atom(char *tip, const char *path, int max_count) html_txt(ctx.repo->desc); html("</subtitle>\n"); if (host) { - char *fullurl = cgit_currentfullurl(); char *repourl = cgit_repourl(ctx.repo->url); - html("<id>"); - html_txtf("%s%s%s", cgit_httpscheme(), host, fullurl); - html("</id>\n"); - html("<link rel='self' href='"); - html_attrf("%s%s%s", cgit_httpscheme(), host, fullurl); - html("'/>\n"); html("<link rel='alternate' type='text/html' href='"); - html_attrf("%s%s%s", cgit_httpscheme(), host, repourl); + html(cgit_httpscheme()); + html_attr(host); + html_attr(repourl); html("'/>\n"); - free(fullurl); free(repourl); } while ((commit = get_revision(&rev)) != NULL) { - if (first) { - html("<updated>"); - html_txt(show_date(commit->date, 0, - date_mode_from_type(DATE_ISO8601_STRICT))); - html("</updated>\n"); - first = false; - } add_entry(commit, host); - release_commit_memory(the_repository->parsed_objects, commit); + free_commit_buffer(commit); + free_commit_list(commit->parents); commit->parents = NULL; } html("</feed>\n"); |