diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-12-11 01:35:10 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-11 01:35:10 +0300 |
commit | cb136bd8521b6be057c08ab4cc92085030407d72 (patch) | |
tree | a3b75e78f5b6693badcec8575c511609b077c313 | |
parent | fc0e3e02c9c7919c03c1def260d83fc96b4f4b3e (diff) | |
parent | 26de1fc0c99026f341b8011957562991e4ea6c51 (diff) |
Merge branch 'po/size-t-for-vs'
On platforms where ulong is shorter than size_t, code paths that
shifted 1 or 1U to the left lacked the necessary cast to size_t,
which have been corrected.
* po/size-t-for-vs:
object-file.c: LLP64 compatibility, upcast unity for left shift
diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
repack.c: LLP64 compatibility, upcast unity for left shift
-rw-r--r-- | builtin/repack.c | 2 | ||||
-rw-r--r-- | diffcore-delta.c | 6 | ||||
-rw-r--r-- | object-file.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/builtin/repack.c b/builtin/repack.c index 9b74e0d468..9b0be6a6ab 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -844,7 +844,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix) fname_old = mkpathdup("%s-%s%s", packtmp, item->string, exts[ext].name); - if (((uintptr_t)item->util) & (1 << ext)) { + if (((uintptr_t)item->util) & ((uintptr_t)1 << ext)) { struct stat statbuffer; if (!stat(fname_old, &statbuffer)) { statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH); diff --git a/diffcore-delta.c b/diffcore-delta.c index 5668ace60d..18d8f766d7 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))); 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)); n = 0; accum1 = accum2 = 0; @@ -159,7 +159,7 @@ static struct spanhash_top *hash_chars(struct repository *r, n = 0; accum1 = accum2 = 0; } - QSORT(hash->data, 1ul << hash->alloc_log2, spanhash_cmp); + QSORT(hash->data, (size_t)1ul << hash->alloc_log2, spanhash_cmp); return hash; } diff --git a/object-file.c b/object-file.c index eb972cdccd..eac67f6f5f 100644 --- a/object-file.c +++ b/object-file.c @@ -2425,7 +2425,7 @@ struct oidtree *odb_loose_cache(struct object_directory *odb, struct strbuf buf = STRBUF_INIT; size_t word_bits = bitsizeof(odb->loose_objects_subdir_seen[0]); size_t word_index = subdir_nr / word_bits; - size_t mask = 1u << (subdir_nr % word_bits); + size_t mask = (size_t)1u << (subdir_nr % word_bits); uint32_t *bitmap; if (subdir_nr < 0 || |