ui-plain.c: only return the blob with the specified path

When a path to a directory was specified for the 'plain'
view, each blob in the directory used to be returned to
the client. This patch fixes the issue by matching the
path of each blob against the requested path.

Noticed-by: Lars Stoltenow <penma@penma.de>
Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
This commit is contained in:
Lars Hjemli 2009-09-06 19:33:10 +02:00
parent 011f2e9bdd
commit b507252b46
1 changed files with 2 additions and 1 deletions

View File

@ -46,7 +46,8 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
if (S_ISDIR(mode))
return READ_TREE_RECURSIVE;
if (S_ISREG(mode))
if (S_ISREG(mode) && !strncmp(base, match_path, baselen) &&
!strcmp(pathname, match_path + baselen))
print_object(sha1, pathname);
return 0;