- if (baselen == match_baselen) {
- if (S_ISREG(mode))
- print_object(sha1, pathname);
- else if (S_ISDIR(mode)) {
- print_dir(sha1, base, baselen, pathname);
+ struct walk_tree_context *walk_tree_ctx = cbdata;
+
+ if (base->len == walk_tree_ctx->match_baselen) {
+ if (S_ISREG(mode)) {
+ if (print_object(sha1, pathname))
+ walk_tree_ctx->match = 1;
+ } else if (S_ISDIR(mode)) {
+ print_dir(sha1, base->buf, base->len, pathname);
+ walk_tree_ctx->match = 2;