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; |
