From: Niels Möller Date: Mon, 17 Oct 2005 20:45:40 +0000 (+0200) Subject: (nettle_mpz_from_octets): Improved loop. Removed the X-Git-Tag: nettle_1.14_release_20051205~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3cba46443c858c862d86661b0c9e2f21570d33a2;p=thirdparty%2Fnettle.git (nettle_mpz_from_octets): Improved loop. Removed the digit temporary (suggested by Torbjörn Granlund). Rev: src/nettle/bignum.c:1.8 --- 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