From 245a4f84be09505fcac7b2afab00106d65c815df Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 7 Nov 2009 01:31:14 +0100 Subject: big endian warning fixes Signed-off-by: Denys Vlasenko --- libbb/sha1.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'libbb') diff --git a/libbb/sha1.c b/libbb/sha1.c index ea645b735..5f42532cd 100644 --- a/libbb/sha1.c +++ b/libbb/sha1.c @@ -408,7 +408,7 @@ void FAST_FUNC sha512_hash(const void *buffer, size_t len, sha512_ctx_t *ctx) /* Used also for sha256 */ void FAST_FUNC sha1_end(void *resbuf, sha1_ctx_t *ctx) { - unsigned i, pad, in_buf; + unsigned pad, in_buf; in_buf = ctx->total64 & 63; /* Pad the buffer to the next 64-byte boundary with 0x80,0,0,0... */ @@ -434,16 +434,17 @@ void FAST_FUNC sha1_end(void *resbuf, sha1_ctx_t *ctx) in_buf = (ctx->process_block == sha1_process_block64) ? 5 : 8; /* This way we do not impose alignment constraints on resbuf: */ -#if BB_LITTLE_ENDIAN - for (i = 0; i < in_buf; ++i) - ctx->hash[i] = htonl(ctx->hash[i]); -#endif + if (BB_LITTLE_ENDIAN) { + unsigned i; + for (i = 0; i < in_buf; ++i) + ctx->hash[i] = htonl(ctx->hash[i]); + } memcpy(resbuf, ctx->hash, sizeof(ctx->hash[0]) * in_buf); } void FAST_FUNC sha512_end(void *resbuf, sha512_ctx_t *ctx) { - unsigned i, pad, in_buf; + unsigned pad, in_buf; in_buf = ctx->total64[0] & 127; /* Pad the buffer to the next 128-byte boundary with 0x80,0,0,0... @@ -470,9 +471,10 @@ void FAST_FUNC sha512_end(void *resbuf, sha512_ctx_t *ctx) break; } -#if BB_LITTLE_ENDIAN - for (i = 0; i < ARRAY_SIZE(ctx->hash); ++i) - ctx->hash[i] = hton64(ctx->hash[i]); -#endif + if (BB_LITTLE_ENDIAN) { + unsigned i; + for (i = 0; i < ARRAY_SIZE(ctx->hash); ++i) + ctx->hash[i] = hton64(ctx->hash[i]); + } memcpy(resbuf, ctx->hash, sizeof(ctx->hash)); } -- cgit v1.2.3