summaryrefslogtreecommitdiffabout
path: root/ui-blob.c
authorLars Hjemli <hjemli@gmail.com>2010-09-19 17:00:05 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2010-09-19 17:00:05 (UTC)
commita9d6e6e695da6c6ed7f4bb32630ab2f3d9314806 (patch) (side-by-side diff)
treede8271ebfabd244437cd68021c8af86391afb9bd /ui-blob.c
parent536c7a1eb201b44b9266babe087cb6f2b75e4a7f (diff)
parentd187b98557d91b874836f286b955ba76ab26fb02 (diff)
downloadcgit-a9d6e6e695da6c6ed7f4bb32630ab2f3d9314806.zip
cgit-a9d6e6e695da6c6ed7f4bb32630ab2f3d9314806.tar.gz
cgit-a9d6e6e695da6c6ed7f4bb32630ab2f3d9314806.tar.bz2
Merge branch 'ml/bugfix'
Diffstat (limited to 'ui-blob.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-blob.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui-blob.c b/ui-blob.c
index 667a451..ec435e1 100644
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -31,49 +31,49 @@ int cgit_print_file(char *path, const char *head)
enum object_type type;
char *buf;
unsigned long size;
struct commit *commit;
const char *paths[] = {path, NULL};
if (get_sha1(head, sha1))
return -1;
type = sha1_object_info(sha1, &size);
if(type == OBJ_COMMIT && path) {
commit = lookup_commit_reference(sha1);
match_path = path;
matched_sha1 = sha1;
found_path = 0;
read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
if (!found_path)
return -1;
type = sha1_object_info(sha1, &size);
}
if (type == OBJ_BAD)
return -1;
buf = read_sha1_file(sha1, &type, &size);
if (!buf)
return -1;
buf[size] = '\0';
- write(htmlfd, buf, size);
+ html_raw(buf, size);
return 0;
}
void cgit_print_blob(const char *hex, char *path, const char *head)
{
unsigned char sha1[20];
enum object_type type;
char *buf;
unsigned long size;
struct commit *commit;
const char *paths[] = {path, NULL};
if (hex) {
if (get_sha1_hex(hex, sha1)){
cgit_print_error(fmt("Bad hex value: %s", hex));
return;
}
} else {
if (get_sha1(head,sha1)) {
cgit_print_error(fmt("Bad ref: %s", head));
return;
}
}
@@ -87,26 +87,26 @@ void cgit_print_blob(const char *hex, char *path, const char *head)
type = sha1_object_info(sha1,&size);
}
if (type == OBJ_BAD) {
cgit_print_error(fmt("Bad object name: %s", hex));
return;
}
buf = read_sha1_file(sha1, &type, &size);
if (!buf) {
cgit_print_error(fmt("Error reading object %s", hex));
return;
}
buf[size] = '\0';
ctx.page.mimetype = ctx.qry.mimetype;
if (!ctx.page.mimetype) {
if (buffer_is_binary(buf, size))
ctx.page.mimetype = "application/octet-stream";
else
ctx.page.mimetype = "text/plain";
}
ctx.page.filename = path;
cgit_print_http_headers(&ctx);
- write(htmlfd, buf, size);
+ html_raw(buf, size);
}