]> granicus.if.org Git - cgit/commitdiff
ui-plain: handle subdirectories
authorLars Hjemli <hjemli@gmail.com>
Mon, 1 Sep 2008 22:53:04 +0000 (00:53 +0200)
committerLars Hjemli <hjemli@gmail.com>
Mon, 1 Sep 2008 22:53:04 +0000 (00:53 +0200)
The callback from read_tree_recursive just needs to check the type of
each tree entry; if it's a dir we want to continue scanning, if it's a
regular file we'll assume it's the one we requested.

And while at it, remove some stray fprintfs.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
ui-plain.c

index 35888a028ddd62c989f83c44a0924db3d122b937..be559e02e5192606e6ceccda40c2b05afaf70862 100644 (file)
@@ -43,9 +43,7 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
                     const char *pathname, unsigned mode, int stage,
                     void *cbdata)
 {
-       fprintf(stderr, "[cgit] walk_tree.pathname=%s", pathname);
-
-       if (!pathname || strcmp(match_path, pathname))
+       if (S_ISDIR(mode))
                return READ_TREE_RECURSIVE;
 
        if (S_ISREG(mode))
@@ -75,7 +73,6 @@ void cgit_print_plain(struct cgit_context *ctx)
                return;
        }
        match_path = ctx->qry.path;
-       fprintf(stderr, "[cgit] match_path=%s", match_path);
        read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL);
        if (!match)
                html_status(404, "Not found", 0);