From: Junio C Hamano Date: Sat, 15 Aug 2009 03:16:51 GMT Subject: Re: [PATCH] block-sha1/sha1.c: silence compiler complaints by casting void* to uintptr_t Message-ID: <7v63cp22cc.fsf@alter.siamese.dyndns.org> In-Reply-To: Brandon Casey writes: > I was just pointing out that the SUNWspro compiler does not produce an > identical binary on x86 for each of the three versions like the GNU > compiler does. > > Sorry for the confusion. Linus's suggestion of casting to "const char*" > should be adopted. Ah, I see. Thanks. Let's queue this, then. -- >8 -- From: Brandon Casey Date: Fri, 14 Aug 2009 17:52:15 -0500 Subject: [PATCH] block-sha1/sha1.c: silence compiler complaints by casting void * to char * Some compilers produce errors when arithmetic is attempted on pointers to void. We want computations done on byte addresses, so cast them to char * to work them around. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- block-sha1/sha1.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/block-sha1/sha1.c b/block-sha1/sha1.c index e5a1007..464cb25 100644 --- a/block-sha1/sha1.c +++ b/block-sha1/sha1.c @@ -246,14 +246,14 @@ void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *data, unsigned long len) memcpy(lenW + (char *)ctx->W, data, left); lenW = (lenW + left) & 63; len -= left; - data += left; + data = ((const char *)data + left); if (lenW) return; blk_SHA1_Block(ctx, ctx->W); } while (len >= 64) { blk_SHA1_Block(ctx, data); - data += 64; + data = ((const char *)data + 64); len -= 64; } if (len)