Re: [PATCH 3/4] diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
From: Philip Oakley <hidden>
Date: 2021-11-29 23:50:04
On 29/11/2021 14:44, Derrick Stolee wrote:
On 11/26/2021 6:36 AM, Philip Oakley wrote:quoted
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 <redacted> --- 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 "<<"
OK.
quoted
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.
True. The spacing isn't that consistent in the code base, but adding the spaces here does look better.
Thanks, -Stolee
Philip