#include "cgit.h"
#include "html.h"
+#include "ui-shared.h"
static void print_line(char *line, int len)
{
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;
return;
}
info = cgit_parse_commit(commit);
- hashcpy(old_sha1, commit->parents->item->object.sha1);
+
+ if (commit->parents && commit->parents->item)
+ hashcpy(old_sha1, commit->parents->item->object.sha1);
+ 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: ");