[PATCH 1/1] ui-plain: show directory listing for top of repo in plain view
John Keeping
john at keeping.me.uk
Tue Feb 16 10:33:25 CET 2016
On Mon, Feb 15, 2016 at 11:57:39PM -0800, Joe Anakata wrote:
> unsigned to signed comparison was always false when at the root of the
> tree
Missing sign-off (see [1] for what this means).
It would also be helpful if the commit message explains that in the
"root of the tree" case match_baselen is -1.
More below...
[1] http://elinux.org/Developer_Certificate_Of_Origin
> ---
> ui-plain.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ui-plain.c b/ui-plain.c
> index ff85113..b4e3bef 100644
> --- a/ui-plain.c
> +++ b/ui-plain.c
> @@ -143,7 +143,7 @@ static int walk_tree(const unsigned char *sha1, struct strbuf *base,
> walk_tree_ctx->match = 2;
> return READ_TREE_RECURSIVE;
> }
> - } else if (base->len > walk_tree_ctx->match_baselen) {
> + } else if ((int)base->len > walk_tree_ctx->match_baselen) {
nit: we prefer a space after casts (see Git's
Documentation/CodingGuidelines which we follow).
I also think we should be casting "len" to ssize_t here (for those who
haven't looked in the code, "len" is a size_t and "match_baselen" is an
int).
This changed in commit 7358f63 (git: update for v2.3.0, 2015-02-07) when
walk_tree() changed from taking a "const char *" with an "int" length to
taking a "struct strbuf". So when "match_baselen" was originally added
it matched the type of the length parameter to which it is compared
here.
> print_dir_entry(sha1, base->buf, base->len, pathname, mode);
> walk_tree_ctx->match = 2;
> } else if (S_ISDIR(mode)) {
> --
> 1.9.1
More information about the CGit
mailing list