X-Git-Url: https://git.cameronkatri.com/cgit.git/blobdiff_plain/2f56e390f04fe6975b75e512c1436ef173e4aafe..583aa5d80eb01075c0f3f35df37b9144a0c9651e:/ui-atom.c diff --git a/ui-atom.c b/ui-atom.c index 808b2d0..1056f36 100644 --- a/ui-atom.c +++ b/ui-atom.c @@ -1,16 +1,17 @@ /* ui-atom.c: functions for atom feeds * - * Copyright (C) 2008 Lars Hjemli + * Copyright (C) 2006-2014 cgit Development Team * * Licensed under GNU General Public License v2 * (see COPYING for full license text) */ #include "cgit.h" +#include "ui-atom.h" #include "html.h" #include "ui-shared.h" -void add_entry(struct commit *commit, char *host) +static void add_entry(struct commit *commit, const char *host) { char delim = '&'; char *hex; @@ -18,13 +19,14 @@ void add_entry(struct commit *commit, 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->author_date, FMT_ATOMDATE, ctx.cfg.local_time); + html_txt(show_date(info->committer_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); html("\n"); if (info->author) { @@ -49,17 +51,21 @@ void add_entry(struct commit *commit, char *host) } html("\n"); html(""); - cgit_print_date(info->author_date, FMT_ATOMDATE, ctx.cfg.local_time); + 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("\n"); @@ -77,7 +83,7 @@ void add_entry(struct commit *commit, char *host) } -void cgit_print_atom(char *tip, char *path, int max_count) +void cgit_print_atom(char *tip, const char *path, int max_count) { char *host; const char *argv[] = {NULL, tip, NULL, NULL, NULL}; @@ -85,7 +91,9 @@ void cgit_print_atom(char *tip, char *path, int max_count) struct rev_info rev; int argc = 2; - if (!tip) + if (ctx.qry.show_all) + argv[1] = "--all"; + else if (!tip) argv[1] = ctx.qry.head; if (path) { @@ -105,27 +113,37 @@ void cgit_print_atom(char *tip, char *path, int max_count) host = cgit_hosturl(); ctx.page.mimetype = "text/xml"; ctx.page.charset = "utf-8"; - cgit_print_http_headers(&ctx); + cgit_print_http_headers(); html("\n"); html(""); html_txt(ctx.repo->name); + if (path) { + html("/"); + html_txt(path); + } + if (tip && !ctx.qry.show_all) { + html(", branch "); + html_txt(tip); + } html("\n"); html(""); html_txt(ctx.repo->desc); html("\n"); if (host) { + char *repourl = cgit_repourl(ctx.repo->url); html("\n"); + free(repourl); } while ((commit = get_revision(&rev)) != NULL) { add_entry(commit, host); - free(commit->buffer); - commit->buffer = NULL; + free_commit_buffer(the_repository->parsed_objects, commit); free_commit_list(commit->parents); commit->parents = NULL; } html("\n"); + free(host); }