summaryrefslogtreecommitdiff
path: root/bignum.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2005-10-17 22:45:40 +0200
committerNiels Möller <nisse@lysator.liu.se>2005-10-17 22:45:40 +0200
commit3cba46443c858c862d86661b0c9e2f21570d33a2 (patch)
treed717b8df20699b8ee0b7494cf7d81ae2a89ef746 /bignum.c
parent94cb88c09d3c1ac8ffb4bbcfc6eb901eaf725317 (diff)
downloadnettle-3cba46443c858c862d86661b0c9e2f21570d33a2.tar.gz
(nettle_mpz_from_octets): Improved loop. Removed the
digit temporary (suggested by Torbjörn Granlund). Rev: src/nettle/bignum.c:1.8
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c11
1 files 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