summaryrefslogtreecommitdiffabout
path: root/ui-patch.c
Side-by-side diff
Diffstat (limited to 'ui-patch.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-patch.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ui-patch.c b/ui-patch.c
index 7ee2c41..c1c4ce3 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -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");