From af89b978b1b26aefe55d3d444a79b8c7c3f3a706 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Fri, 26 Mar 2010 15:28:36 +0100
Subject: [PATCH] (sha1_digest): Use _nettle_write_be32.

Rev: nettle/sha1.c:1.2
---
 sha1.c | 36 ++----------------------------------
 1 file changed, 2 insertions(+), 34 deletions(-)

diff --git a/sha1.c b/sha1.c
index e0498f70..c04ab775 100644
--- a/sha1.c
+++ b/sha1.c
@@ -47,6 +47,7 @@
 #include "sha.h"
 
 #include "macros.h"
+#include "nettle-write.h"
 
 /* A block, treated as a sequence of 32-bit words. */
 #define SHA1_DATA_LENGTH 16
@@ -164,42 +165,9 @@ sha1_digest(struct sha1_ctx *ctx,
 	    unsigned length,
 	    uint8_t *digest)
 {
-  unsigned i;
-  unsigned words;
-  unsigned leftover;
-  
   assert(length <= SHA1_DIGEST_SIZE);
 
   sha1_final(ctx);
-  
-  words = length / 4;
-  leftover = length % 4;
-
-  for (i = 0; i < words; i++, digest += 4)
-    WRITE_UINT32(digest, ctx->digest[i]);
-
-  if (leftover)
-    {
-      uint32_t word;
-      unsigned j = leftover;
-      
-      assert(i < _SHA1_DIGEST_LENGTH);
-      
-      word = ctx->digest[i];
-      
-      switch (leftover)
-	{
-	default:
-	  abort();
-	case 3:
-	  digest[--j] = (word >> 8) & 0xff;
-	  /* Fall through */
-	case 2:
-	  digest[--j] = (word >> 16) & 0xff;
-	  /* Fall through */
-	case 1:
-	  digest[--j] = (word >> 24) & 0xff;
-	}
-    }
+  _nettle_write_be32(length, digest, ctx->digest);
   sha1_init(ctx);
 }
-- 
GitLab