From b507252b469333d06afff0888d466e39124a7e07 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sun, 6 Sep 2009 19:33:10 +0200 Subject: 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 Signed-off-by: Lars Hjemli --- ui-plain.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui-plain.c b/ui-plain.c index 5addd9e..e08b15b 100644 --- a/ui-plain.c +++ b/ui-plain.c @@ -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; -- cgit v1.2.3-57-g22cb