about summary refs log tree commit diff
path: root/crypt/sha256.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-07-02 13:03:53 -0400
committerUlrich Drepper <drepper@gmail.com>2011-07-02 13:03:53 -0400
commitfeea4948bca7e442edad3f995696f33450549e80 (patch)
treef0d06f3188f1179aa50dd5281234ed4167422db4 /crypt/sha256.c
parentfcfc776bc6242fdefde0efd7b0c315fbeca08555 (diff)
downloadglibc-feea4948bca7e442edad3f995696f33450549e80.tar.gz
glibc-feea4948bca7e442edad3f995696f33450549e80.tar.xz
glibc-feea4948bca7e442edad3f995696f33450549e80.zip
Fix last patch for big-endian machines
Diffstat (limited to 'crypt/sha256.c')
-rw-r--r--crypt/sha256.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/crypt/sha256.c b/crypt/sha256.c
index 0ca3355a05..1a3aca6e92 100644
--- a/crypt/sha256.c
+++ b/crypt/sha256.c
@@ -224,9 +224,11 @@ __sha256_finish_ctx (ctx, resbuf)
 #ifdef _STRING_ARCH_unaligned
   *(uint64_t *)  &ctx->buffer[bytes + pad] = SWAP64 (ctx->total64 << 3);
 #else
-  *(uint32_t *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3);
-  *(uint32_t *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) |
-						  (ctx->total[0] >> 29));
+  *(uint32_t *) &ctx->buffer[bytes + pad + 4]
+    = SWAP (ctx->total[TOTAL64_low] << 3);
+  *(uint32_t *) &ctx->buffer[bytes + pad]
+    = SWAP ((ctx->total[TOTAL64_high] << 3) |
+	    (ctx->total[TOTAL64_low] >> 29));
 #endif
 
   /* Process last bytes.  */