summaryrefslogtreecommitdiff
path: root/sha1_file.c
diff options
context:
space:
mode:
authorLibravatar Johannes Schindelin <johannes.schindelin@gmx.de>2015-10-26 14:15:25 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2015-10-26 13:24:03 -0700
commit56a1a3ab449df33268776a8b72a301d3ee67ad8d (patch)
tree151de5a2bd3b18e97da16590f03c660a5cb5103e /sha1_file.c
parentSquelch warning about an integer overflow (diff)
downloadtgif-56a1a3ab449df33268776a8b72a301d3ee67ad8d.tar.xz
Silence GCC's "cast of pointer to integer of a different size" warning
When calculating hashes from pointers, it actually makes sense to cut off the most significant bits. In that case, said warning does not make a whole lot of sense. So let's just work around it by casting the pointer first to intptr_t and then casting up/down to the final integral type. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_file.c')
-rw-r--r--sha1_file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sha1_file.c b/sha1_file.c
index b231b62784..2350a91dbe 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -2014,7 +2014,7 @@ static unsigned long pack_entry_hash(struct packed_git *p, off_t base_offset)
{
unsigned long hash;
- hash = (unsigned long)p + (unsigned long)base_offset;
+ hash = (unsigned long)(intptr_t)p + (unsigned long)base_offset;
hash += (hash >> 8) + (hash >> 16);
return hash % MAX_DELTA_CACHE;
}