fix bug in mp_radix_size()
zero values returned a length of 1, not 2 in case of radix 2 re-ordering the special casing takes care of it
This commit is contained in:
parent
f87356dc70
commit
6907f6ca45
@ -24,12 +24,6 @@ int mp_radix_size (mp_int * a, int radix, int *size)
|
|||||||
|
|
||||||
*size = 0;
|
*size = 0;
|
||||||
|
|
||||||
/* special case for binary */
|
|
||||||
if (radix == 2) {
|
|
||||||
*size = mp_count_bits (a) + (a->sign == MP_NEG ? 1 : 0) + 1;
|
|
||||||
return MP_OKAY;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* make sure the radix is in range */
|
/* make sure the radix is in range */
|
||||||
if (radix < 2 || radix > 64) {
|
if (radix < 2 || radix > 64) {
|
||||||
return MP_VAL;
|
return MP_VAL;
|
||||||
@ -40,6 +34,12 @@ int mp_radix_size (mp_int * a, int radix, int *size)
|
|||||||
return MP_OKAY;
|
return MP_OKAY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* special case for binary */
|
||||||
|
if (radix == 2) {
|
||||||
|
*size = mp_count_bits (a) + (a->sign == MP_NEG ? 1 : 0) + 1;
|
||||||
|
return MP_OKAY;
|
||||||
|
}
|
||||||
|
|
||||||
/* digs is the digit count */
|
/* digs is the digit count */
|
||||||
digs = 0;
|
digs = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user