diff options
Diffstat (limited to 'ui-plain.c')
-rw-r--r-- | ui-plain.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -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 | ||
176 | static int walk_tree(const unsigned char *sha1, const char *base, int baselen, | 176 | static 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; |