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
This commit is contained in:
Junio C Hamano 2021-12-10 14:35:10 -08:00
commit cb136bd852
3 changed files with 5 additions and 5 deletions

View File

@ -844,7 +844,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
fname_old = mkpathdup("%s-%s%s", fname_old = mkpathdup("%s-%s%s",
packtmp, item->string, exts[ext].name); 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; struct stat statbuffer;
if (!stat(fname_old, &statbuffer)) { if (!stat(fname_old, &statbuffer)) {
statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH); statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH);

View File

@ -133,10 +133,10 @@ static struct spanhash_top *hash_chars(struct repository *r,
i = INITIAL_HASH_SIZE; i = INITIAL_HASH_SIZE;
hash = xmalloc(st_add(sizeof(*hash), 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->alloc_log2 = i;
hash->free = INITIAL_FREE(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; n = 0;
accum1 = accum2 = 0; accum1 = accum2 = 0;
@ -159,7 +159,7 @@ static struct spanhash_top *hash_chars(struct repository *r,
n = 0; n = 0;
accum1 = accum2 = 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; return hash;
} }

View File

@ -2425,7 +2425,7 @@ struct oidtree *odb_loose_cache(struct object_directory *odb,
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
size_t word_bits = bitsizeof(odb->loose_objects_subdir_seen[0]); size_t word_bits = bitsizeof(odb->loose_objects_subdir_seen[0]);
size_t word_index = subdir_nr / word_bits; 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; uint32_t *bitmap;
if (subdir_nr < 0 || if (subdir_nr < 0 ||