Re: [PATCH 1/3] traverse_trees(): allow pruning with pathspec
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Oct 9, 2011, 21:35 UTC
- Message-ID
- <CACsJy8D9sJOtXj_jkVSyoAJ9TC4wmKNAD5YwsFXTYkpvM4e13w@mail.gmail.com>
- In-Reply-To
- <4E91C031.9030205@alum.mit.edu>
On Mon, Oct 10, 2011 at 2:39 AM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
Show 25 quoted lines
> On 08/29/2011 11:33 PM, Junio C Hamano wrote:
>> diff --git a/tree-walk.c b/tree-walk.c
>> index 33f749e..808bb55 100644
>> --- a/tree-walk.c
>> +++ b/tree-walk.c
>> [...]
>> @@ -376,16 +396,22 @@ int traverse_trees(int n, struct tree_desc *t, struct traverse_info *info)
>> mask |= 1ul << i;
>> if (S_ISDIR(entry[i].mode))
>> dirmask |= 1ul << i;
>> + e = &entry[i];
>> }
>> if (!mask)
>> break;
>> - ret = info->fn(n, mask, dirmask, entry, info);
>> - if (ret < 0) {
>> - error = ret;
>> - if (!info->show_all_errors)
>> - break;
>> + interesting = prune_traversal(e, info, &base, interesting);
>
> According to gcc 4.2.4 (though, strangely, not gcc 4.4.3):
>
> tree-walk.c: In function ‘traverse_trees’:
> tree-walk.c:347: warning: ‘e’ may be used uninitialized in this functionFalse alarm. If e is not initialized in the for loop, mask would be zero and therefore prune_traversal(e, info, &base, interesting), which would use uninitialized "e", would never be called.
-- Duy