Mercurial > dropbear
diff libtommath/bn_mp_toradix_n.c @ 415:8b9aba1d5fa4 channel-fix
merge of '73fe066c5d9e2395354ba74756124d45c978a04d'
and 'f5014cc84558f1e8eba42dbecf9f72f94bfe6134'
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 06 Feb 2007 16:00:18 +0000 |
parents | 5ff8218bcee9 |
children | 60fc6476e044 |
line wrap: on
line diff
--- a/libtommath/bn_mp_toradix_n.c Tue Feb 06 15:59:54 2007 +0000 +++ b/libtommath/bn_mp_toradix_n.c Tue Feb 06 16:00:18 2007 +0000 @@ -12,7 +12,7 @@ * The library is free for all purposes without any express * guarantee it works. * - * Tom St Denis, [email protected], http://math.libtomcrypt.org + * Tom St Denis, [email protected], http://math.libtomcrypt.com */ /* stores a bignum as a ASCII string in a given radix (2..64) @@ -27,12 +27,12 @@ char *_s = str; /* check range of the maxlen, radix */ - if (maxlen < 3 || radix < 2 || radix > 64) { + if (maxlen < 2 || radix < 2 || radix > 64) { return MP_VAL; } /* quick out if its zero */ - if (mp_iszero(a) == 1) { + if (mp_iszero(a) == MP_YES) { *str++ = '0'; *str = '\0'; return MP_OKAY; @@ -57,21 +57,20 @@ digs = 0; while (mp_iszero (&t) == 0) { + if (--maxlen < 1) { + /* no more room */ + break; + } if ((res = mp_div_d (&t, (mp_digit) radix, &t, &d)) != MP_OKAY) { mp_clear (&t); return res; } *str++ = mp_s_rmap[d]; ++digs; - - if (--maxlen == 1) { - /* no more room */ - break; - } } /* reverse the digits of the string. In this case _s points - * to the first digit [exluding the sign] of the number] + * to the first digit [exluding the sign] of the number */ bn_reverse ((unsigned char *)_s, digs); @@ -83,3 +82,7 @@ } #endif + +/* $Source: /cvs/libtom/libtommath/bn_mp_toradix_n.c,v $ */ +/* $Revision: 1.4 $ */ +/* $Date: 2006/03/31 14:18:44 $ */