• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <tommath.h>
2 #ifdef BN_MP_CLEAR_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis
4  *
5  * LibTomMath is a library that provides multiple-precision
6  * integer arithmetic as well as number theoretic functionality.
7  *
8  * The library was designed directly after the MPI library by
9  * Michael Fromberger but has been written from scratch with
10  * additional optimizations in place.
11  *
12  * The library is free for all purposes without any express
13  * guarantee it works.
14  *
15  * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
16  */
17 
18 /* clear one (frees)  */
19 void
mp_clear(mp_int * a)20 mp_clear (mp_int * a)
21 {
22   volatile mp_digit *p;
23   int len;
24 
25   /* only do anything if a hasn't been freed previously */
26   if (a->dp != NULL) {
27     /* first zero the digits */
28 	len = a->alloc;
29 	p = a->dp;
30 	while (len--) {
31 		*p++ = 0;
32 	}
33 
34     /* free ram */
35     XFREE(a->dp);
36 
37     /* reset members to make debugging easier */
38     a->dp    = NULL;
39     a->alloc = a->used = 0;
40     a->sign  = MP_ZPOS;
41   }
42 }
43 #endif
44 
45 /* $Source: /cvs/libtom/libtommath/bn_mp_clear.c,v $ */
46 /* $Revision: 1.3 $ */
47 /* $Date: 2006/03/31 14:18:44 $ */
48