Browse Source

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
maint
Junio C Hamano 3 years ago
parent
commit
cb136bd852
  1. 2
      builtin/repack.c
  2. 6
      diffcore-delta.c
  3. 2
      object-file.c

2
builtin/repack.c

@ -844,7 +844,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix) @@ -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);

6
diffcore-delta.c

@ -133,10 +133,10 @@ static struct spanhash_top *hash_chars(struct repository *r, @@ -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, @@ -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;
}


2
object-file.c

@ -2425,7 +2425,7 @@ struct oidtree *odb_loose_cache(struct object_directory *odb, @@ -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 ||

Loading…
Cancel
Save