summaryrefslogtreecommitdiffabout
path: root/ui-plain.c
authorMartins Polakovs <martins.polakovs@gmail.com>2009-12-10 15:35:42 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-12-12 10:56:25 (UTC)
commit24538b072718924d3418a258cf0009fb5b5768de (patch) (unidiff)
tree54a2ea6fb82c5ff99f188624a24b7c5d54657095 /ui-plain.c
parentf2bf0a05280edddb4961214adfd7b440191737e2 (diff)
downloadcgit-24538b072718924d3418a258cf0009fb5b5768de.zip
cgit-24538b072718924d3418a258cf0009fb5b5768de.tar.gz
cgit-24538b072718924d3418a258cf0009fb5b5768de.tar.bz2
Fix segfault on ppc when browsing tree
Diffstat (limited to 'ui-plain.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-plain.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ui-plain.c b/ui-plain.c
index a4ce077..66cb19c 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -59,36 +59,36 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
59{ 59{
60 if (S_ISDIR(mode)) 60 if (S_ISDIR(mode))
61 return READ_TREE_RECURSIVE; 61 return READ_TREE_RECURSIVE;
62 62
63 if (S_ISREG(mode) && !strncmp(base, match_path, baselen) && 63 if (S_ISREG(mode) && !strncmp(base, match_path, baselen) &&
64 !strcmp(pathname, match_path + baselen)) 64 !strcmp(pathname, match_path + baselen))
65 print_object(sha1, pathname); 65 print_object(sha1, pathname);
66 66
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}