Mercurial > dropbear
diff bn_mp_init.c @ 142:d29b64170cf0 libtommath-orig
import of libtommath 0.32
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 19 Dec 2004 11:33:56 +0000 |
parents | 86e0b50a9b58 |
children |
line wrap: on
line diff
--- a/bn_mp_init.c Tue Jun 15 14:42:57 2004 +0000 +++ b/bn_mp_init.c Sun Dec 19 11:33:56 2004 +0000 @@ -1,3 +1,5 @@ +#include <tommath.h> +#ifdef BN_MP_INIT_C /* LibTomMath, multiple-precision integer library -- Tom St Denis * * LibTomMath is a library that provides multiple-precision @@ -12,17 +14,23 @@ * * Tom St Denis, [email protected], http://math.libtomcrypt.org */ -#include <tommath.h> -/* init a new bigint */ +/* init a new mp_int */ int mp_init (mp_int * a) { + int i; + /* allocate memory required and clear it */ - a->dp = OPT_CAST(mp_digit) XCALLOC (sizeof (mp_digit), MP_PREC); + a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * MP_PREC); if (a->dp == NULL) { return MP_MEM; } + /* set the digits to zero */ + for (i = 0; i < MP_PREC; i++) { + a->dp[i] = 0; + } + /* set the used to zero, allocated digits to the default precision * and sign to positive */ a->used = 0; @@ -31,3 +39,4 @@ return MP_OKAY; } +#endif