about summary refs log tree commit diff stats
path: root/ui-plain.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-plain.c')
-rw-r--r--ui-plain.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/ui-plain.c b/ui-plain.c index 30fff89..b787bc3 100644 --- a/ui-plain.c +++ b/ui-plain.c
@@ -173,23 +173,22 @@ static void print_dir_tail(void)
173 html(" </ul>\n</body></html>\n"); 173 html(" </ul>\n</body></html>\n");
174} 174}
175 175
176static int walk_tree(const unsigned char *sha1, const char *base, int baselen, 176static int walk_tree(const unsigned char *sha1, struct strbuf *base,
177 const char *pathname, unsigned mode, int stage, 177 const char *pathname, unsigned mode, int stage, void *cbdata)
178 void *cbdata)
179{ 178{
180 struct walk_tree_context *walk_tree_ctx = cbdata; 179 struct walk_tree_context *walk_tree_ctx = cbdata;
181 180
182 if (baselen == walk_tree_ctx->match_baselen) { 181 if (base->len == walk_tree_ctx->match_baselen) {
183 if (S_ISREG(mode)) { 182 if (S_ISREG(mode)) {
184 if (print_object(sha1, pathname)) 183 if (print_object(sha1, pathname))
185 walk_tree_ctx->match = 1; 184 walk_tree_ctx->match = 1;
186 } else if (S_ISDIR(mode)) { 185 } else if (S_ISDIR(mode)) {
187 print_dir(sha1, base, baselen, pathname); 186 print_dir(sha1, base->buf, base->len, pathname);
188 walk_tree_ctx->match = 2; 187 walk_tree_ctx->match = 2;
189 return READ_TREE_RECURSIVE; 188 return READ_TREE_RECURSIVE;
190 } 189 }
191 } else if (baselen > walk_tree_ctx->match_baselen) { 190 } else if (base->len > walk_tree_ctx->match_baselen) {
192 print_dir_entry(sha1, base, baselen, pathname, mode); 191 print_dir_entry(sha1, base->buf, base->len, pathname, mode);
193 walk_tree_ctx->match = 2; 192 walk_tree_ctx->match = 2;
194 } else if (S_ISDIR(mode)) { 193 } else if (S_ISDIR(mode)) {
195 return READ_TREE_RECURSIVE; 194 return READ_TREE_RECURSIVE;