On 11/26/2021 6:36 AM, Philip Oakley wrote:
quoted hunk ↗ jump to hunk
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 "<<"
quoted hunk ↗ jump to hunk
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