From: Junio C Hamano Date: Wed, 12 Sep 2012 18:35:56 GMT Subject: Re: [PATCH 1/3] sha1: update pointer and remaining length after subfunction call Message-ID: <7vhar3ccmr.fsf@alter.siamese.dyndns.org> In-Reply-To: Yann Droneaud writes: > There's no need to update the pointer and remaining length before > leaving or calling the SHA1 sub function. > > Additionnaly, the partial block code could be looking more like > the full block handling branch. > > Signed-off-by: Yann Droneaud > --- > block-sha1/sha1.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block-sha1/sha1.c b/block-sha1/sha1.c > index a8d4bf9..c1af112 100644 > --- a/block-sha1/sha1.c > +++ b/block-sha1/sha1.c > @@ -248,11 +248,11 @@ void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *data, unsigned long len) > left = len; > memcpy(lenW + (char *)ctx->W, data, left); > lenW = (lenW + left) & 63; > - len -= left; > - data = ((const char *)data + left); > if (lenW) > return; > blk_SHA1_Block(ctx, ctx->W); > + data = ((const char *)data + left); > + len -= left; > } > while (len >= 64) { > blk_SHA1_Block(ctx, data); It is not wrong per-se, but doesn't the compiler optimize it out if this is worth doing? Just being curious.