all repos — cgit @ de6098be6a65a4758ff8eac6359bd6fd30ba7bd3

a hyperfast web frontend for git written in c

ui-plain: fix to show a repo's root directory listing in plain view

This is to fix the case of accessing http://host.com/cgit.cgi/repo.git/plain/

There is code here to make this case work (match_baselen is set to -1
for top-of-the-tree views) but the unsigned to signed comparison was
always false in this case, causing an empty directory listing without
this fix.

Signed-off-by: Joe Anakata <jea-signup-github@anakata.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Joe Anakata jea-signup-github@anakata.org
Mon, 22 Feb 2016 18:45:53 +0100
commit

de6098be6a65a4758ff8eac6359bd6fd30ba7bd3

parent

94c02bbf732d938c92df4961026c4d8f6fd4c37e

1 files changed, 1 insertions(+), 1 deletions(-)

jump to
M ui-plain.cui-plain.c

@@ -143,7 +143,7 @@ print_dir(sha1, base->buf, base->len, pathname);

walk_tree_ctx->match = 2; return READ_TREE_RECURSIVE; } - } else if (base->len > walk_tree_ctx->match_baselen) { + } else if (base->len < INT_MAX && (int)base->len > walk_tree_ctx->match_baselen) { print_dir_entry(sha1, base->buf, base->len, pathname, mode); walk_tree_ctx->match = 2; } else if (S_ISDIR(mode)) {