-rw-r--r-- | ui-patch.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -6,8 +6,10 @@ * (see COPYING for full license text) */ #include "cgit.h" +#include "html.h" +#include "ui-shared.h" static void print_line(char *line, int len) { char c = line[len-1]; @@ -67,17 +69,17 @@ static void filepair_cb(struct diff_filepair *pair) if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) html("Error running diff"); } -void cgit_print_patch(char *hex, struct cacheitem *item) +void cgit_print_patch(char *hex) { struct commit *commit; struct commitinfo *info; unsigned char sha1[20], old_sha1[20]; char *patchname; if (!hex) - hex = cgit_query_head; + hex = ctx.qry.head; if (get_sha1(hex, sha1)) { cgit_print_error(fmt("Bad object id: %s", hex)); return; @@ -94,9 +96,11 @@ void cgit_print_patch(char *hex, struct cacheitem *item) else hashclr(old_sha1); patchname = fmt("%s.patch", sha1_to_hex(sha1)); - cgit_print_snapshot_start("text/plain", patchname, item); + ctx.page.mimetype = "text/plain"; + ctx.page.filename = patchname; + cgit_print_http_headers(&ctx); htmlf("From %s Mon Sep 17 00:00:00 2001\n", sha1_to_hex(sha1)); htmlf("From: %s%s\n", info->author, info->author_email); html("Date: "); cgit_print_date(info->author_date, "%a, %d %b %Y %H:%M:%S %z%n"); |