Re: [PATCH 3/4] diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Nov 29, 2021, 14:44 UTC
- Message-ID
- <f721bc99-6d79-e2f2-7810-dd77b777161f@gmail.com>
- In-Reply-To
- <20211126113614.709-4-philipoakley@iee.email>
On 11/26/2021 6:36 AM, Philip Oakley wrote:
Show 20 quoted lines
> Visual Studio reports C4334 "was 64-bit shift intended" warning > because of size miss-match. > > Promote unity to the matching type to fit with its subsequent operation. > > Signed-off-by: Philip Oakley <philipoakley@iee.email> > --- > diffcore-delta.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/diffcore-delta.c b/diffcore-delta.c > index 5668ace60d..a4e86dfa38 100644 > --- a/diffcore-delta.c > +++ b/diffcore-delta.c > @@ -133,10 +133,10 @@ static struct spanhash_top *hash_chars(struct repository *r, > > i = INITIAL_HASH_SIZE; > hash = xmalloc(st_add(sizeof(*hash), > - st_mult(sizeof(struct spanhash), 1<<i))); > + st_mult(sizeof(struct spanhash), (size_t)1<<i)));
This could use spaces around "<<"
> hash->alloc_log2 = i; > hash->free = INITIAL_FREE(i); > - memset(hash->data, 0, sizeof(struct spanhash) * (1<<i)); > + memset(hash->data, 0, sizeof(struct spanhash) * ((size_t)1 << i));
Especially because you correctly add them here.
Thanks, -Stolee