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 );