From 3cba46443c858c862d86661b0c9e2f21570d33a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Mon, 17 Oct 2005 22:45:40 +0200
Subject: [PATCH] =?UTF-8?q?(nettle=5Fmpz=5Ffrom=5Foctets):=20Improved=20lo?=
 =?UTF-8?q?op.=20Removed=20the=20digit=20temporary=20(suggested=20by=20Tor?=
 =?UTF-8?q?bj=C3=B6rn=20Granlund).?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Rev: src/nettle/bignum.c:1.8
---
 bignum.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/bignum.c b/bignum.c
index f9f12034..a4cb99a3 100644
--- a/bignum.c
+++ b/bignum.c
@@ -137,17 +137,14 @@ nettle_mpz_from_octets(mpz_t x,
 		       uint8_t sign)
 {
   unsigned i;
-  mpz_t digit;
-
-  mpz_init(digit);
 
+  /* FIXME: See if we can use something like
+     mpz_import(x, length, 1, 1, 0, 0, s). */
   for (i = 0; i < length; i++)
     {
-      mpz_set_ui(digit, sign ^ s[i]);
-      mpz_mul_2exp(digit, digit, (length - i - 1) * 8);
-      mpz_ior(x, x, digit);
+      mpz_mul_2exp(x, x, 8);
+      mpz_add_ui(x, x, sign ^ s[i]);
     }
-  mpz_clear(digit);
 }
 
 void
-- 
GitLab