summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-blob.c2
-rw-r--r--ui-plain.c2
-rw-r--r--ui-tree.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/ui-blob.c b/ui-blob.c
index 2ccd31d..89330ce 100644
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -29,49 +29,49 @@ void cgit_print_blob(const char *hex, char *path, const char *head)
29 enum object_type type; 29 enum object_type type;
30 char *buf; 30 char *buf;
31 unsigned long size; 31 unsigned long size;
32 struct commit *commit; 32 struct commit *commit;
33 const char *paths[] = {path, NULL}; 33 const char *paths[] = {path, NULL};
34 34
35 if (hex) { 35 if (hex) {
36 if (get_sha1_hex(hex, sha1)){ 36 if (get_sha1_hex(hex, sha1)){
37 cgit_print_error(fmt("Bad hex value: %s", hex)); 37 cgit_print_error(fmt("Bad hex value: %s", hex));
38 return; 38 return;
39 } 39 }
40 } else { 40 } else {
41 if (get_sha1(head,sha1)) { 41 if (get_sha1(head,sha1)) {
42 cgit_print_error(fmt("Bad ref: %s", head)); 42 cgit_print_error(fmt("Bad ref: %s", head));
43 return; 43 return;
44 } 44 }
45 } 45 }
46 46
47 type = sha1_object_info(sha1, &size); 47 type = sha1_object_info(sha1, &size);
48 48
49 if((!hex) && type == OBJ_COMMIT && path) { 49 if((!hex) && type == OBJ_COMMIT && path) {
50 commit = lookup_commit_reference(sha1); 50 commit = lookup_commit_reference(sha1);
51 match_path = path; 51 match_path = path;
52 matched_sha1 = sha1; 52 matched_sha1 = sha1;
53 read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL); 53 read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
54 type = sha1_object_info(sha1,&size); 54 type = sha1_object_info(sha1,&size);
55 } 55 }
56 56
57 if (type == OBJ_BAD) { 57 if (type == OBJ_BAD) {
58 cgit_print_error(fmt("Bad object name: %s", hex)); 58 cgit_print_error(fmt("Bad object name: %s", hex));
59 return; 59 return;
60 } 60 }
61 61
62 buf = read_sha1_file(sha1, &type, &size); 62 buf = read_sha1_file(sha1, &type, &size);
63 if (!buf) { 63 if (!buf) {
64 cgit_print_error(fmt("Error reading object %s", hex)); 64 cgit_print_error(fmt("Error reading object %s", hex));
65 return; 65 return;
66 } 66 }
67 67
68 buf[size] = '\0'; 68 buf[size] = '\0';
69 ctx.page.mimetype = ctx.qry.mimetype; 69 ctx.page.mimetype = ctx.qry.mimetype;
70 if (!ctx.page.mimetype) { 70 if (!ctx.page.mimetype) {
71 if (buffer_is_binary(buf, size)) 71 if (buffer_is_binary(buf, size))
72 ctx.page.mimetype = "application/octet-stream"; 72 ctx.page.mimetype = "application/octet-stream";
73 else 73 else
74 ctx.page.mimetype = "text/plain"; 74 ctx.page.mimetype = "text/plain";
75 } 75 }
76 ctx.page.filename = path; 76 ctx.page.filename = path;
77 cgit_print_http_headers(&ctx); 77 cgit_print_http_headers(&ctx);
diff --git a/ui-plain.c b/ui-plain.c
index a4ce077..66cb19c 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -67,28 +67,28 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
67 return 0; 67 return 0;
68} 68}
69 69
70void cgit_print_plain(struct cgit_context *ctx) 70void cgit_print_plain(struct cgit_context *ctx)
71{ 71{
72 const char *rev = ctx->qry.sha1; 72 const char *rev = ctx->qry.sha1;
73 unsigned char sha1[20]; 73 unsigned char sha1[20];
74 struct commit *commit; 74 struct commit *commit;
75 const char *paths[] = {ctx->qry.path, NULL}; 75 const char *paths[] = {ctx->qry.path, NULL};
76 76
77 if (!rev) 77 if (!rev)
78 rev = ctx->qry.head; 78 rev = ctx->qry.head;
79 79
80 curr_rev = xstrdup(rev); 80 curr_rev = xstrdup(rev);
81 if (get_sha1(rev, sha1)) { 81 if (get_sha1(rev, sha1)) {
82 html_status(404, "Not found", 0); 82 html_status(404, "Not found", 0);
83 return; 83 return;
84 } 84 }
85 commit = lookup_commit_reference(sha1); 85 commit = lookup_commit_reference(sha1);
86 if (!commit || parse_commit(commit)) { 86 if (!commit || parse_commit(commit)) {
87 html_status(404, "Not found", 0); 87 html_status(404, "Not found", 0);
88 return; 88 return;
89 } 89 }
90 match_path = ctx->qry.path; 90 match_path = ctx->qry.path;
91 read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL); 91 read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
92 if (!match) 92 if (!match)
93 html_status(404, "Not found", 0); 93 html_status(404, "Not found", 0);
94} 94}
diff --git a/ui-tree.c b/ui-tree.c
index f53ab64..a164767 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -259,27 +259,27 @@ void cgit_print_tree(const char *rev, char *path)
259 if (!rev) 259 if (!rev)
260 rev = ctx.qry.head; 260 rev = ctx.qry.head;
261 261
262 curr_rev = xstrdup(rev); 262 curr_rev = xstrdup(rev);
263 if (get_sha1(rev, sha1)) { 263 if (get_sha1(rev, sha1)) {
264 cgit_print_error(fmt("Invalid revision name: %s", rev)); 264 cgit_print_error(fmt("Invalid revision name: %s", rev));
265 return; 265 return;
266 } 266 }
267 commit = lookup_commit_reference(sha1); 267 commit = lookup_commit_reference(sha1);
268 if (!commit || parse_commit(commit)) { 268 if (!commit || parse_commit(commit)) {
269 cgit_print_error(fmt("Invalid commit reference: %s", rev)); 269 cgit_print_error(fmt("Invalid commit reference: %s", rev));
270 return; 270 return;
271 } 271 }
272 272
273 html("path: <a href='"); 273 html("path: <a href='");
274 html_attr(cgit_pageurl(ctx.qry.repo, "tree", fmt("h=%s", rev))); 274 html_attr(cgit_pageurl(ctx.qry.repo, "tree", fmt("h=%s", rev)));
275 html("'>root</a>"); 275 html("'>root</a>");
276 276
277 if (path == NULL) { 277 if (path == NULL) {
278 ls_tree(commit->tree->object.sha1, NULL); 278 ls_tree(commit->tree->object.sha1, NULL);
279 return; 279 return;
280 } 280 }
281 281
282 match_path = path; 282 match_path = path;
283 read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL); 283 read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
284 ls_tail(); 284 ls_tail();
285} 285}