From 6b906e5095f4beea219b4a804834f5e52a58b9c5 Mon Sep 17 00:00:00 2001 From: Paul Bakker Date: Tue, 8 May 2012 12:01:43 +0000 Subject: [PATCH] - Const correctness mpi_get_bit() - Documentation mpi_lsb(), mpi_msb() --- ChangeLog | 2 ++ include/polarssl/bignum.h | 12 +++++++++--- library/bignum.c | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8d88ccfd9..d41422281 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,8 @@ Features Changes * Removed redundant POLARSSL_DEBUG_MSG define * AES code only check for Padlock once + * Fixed const-correctness mpi_get_bit() + * Documentation for mpi_lsb() and mpi_msb() Bugfix * Fixed handling error in mpi_cmp_mpi() on longer B values (found by diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h index ad033084c..898e37daf 100644 --- a/include/polarssl/bignum.h +++ b/include/polarssl/bignum.h @@ -192,7 +192,7 @@ int mpi_lset( mpi *X, t_sint z ); * * \return Either a 0 or a 1 */ -int mpi_get_bit( mpi *X, size_t pos ); +int mpi_get_bit( const mpi *X, size_t pos ); /* * \brief Set a bit of X to a specific value of 0 or 1 @@ -211,14 +211,20 @@ int mpi_get_bit( mpi *X, size_t pos ); int mpi_set_bit( mpi *X, size_t pos, unsigned char val ); /** - * \brief Return the number of least significant bits + * \brief Return the number of zero-bits before the least significant + * '1' bit + * + * Note: Thus also the zero-based index of the least significant '1' bit * * \param X MPI to use */ size_t mpi_lsb( const mpi *X ); /** - * \brief Return the number of most significant bits + * \brief Return the number of bits up to and including the most + * significant '1' bit' + * + * Note: Thus also the one-based index of the most significant '1' bit * * \param X MPI to use */ diff --git a/library/bignum.c b/library/bignum.c index 0cb95055d..5c0d6220d 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -173,7 +173,7 @@ cleanup: /* * Get a specific bit */ -int mpi_get_bit( mpi *X, size_t pos ) +int mpi_get_bit( const mpi *X, size_t pos ) { if( X->n * biL <= pos ) return( 0 );