From 7045d78d5e04065e6e02b9242ea796298be89497 Mon Sep 17 00:00:00 2001 From: "Laszlo Boszormenyi (GCS)" Date: Mon, 5 Jun 2017 07:55:28 +0100 Subject: [PATCH] integer Gbp-Pq: Name integer.diff --- integer.cpp | 24 +++++++++++++++++++++++- integer.h | 12 ++++++++---- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/integer.cpp b/integer.cpp index 671852d..02c0c87 100644 --- a/integer.cpp +++ b/integer.cpp @@ -2929,6 +2929,11 @@ signed long Integer::ConvertToLong() const return sign==POSITIVE ? value : -(signed long)value; } +Integer::Integer(BufferedTransformation &encodedInteger, size_t byteCount, Signedness s) +{ + Decode(encodedInteger, byteCount, s); +} + Integer::Integer(BufferedTransformation &encodedInteger, size_t byteCount, Signedness s, ByteOrder o) { assert(o == BIG_ENDIAN_ORDER || o == LITTLE_ENDIAN_ORDER); @@ -2946,6 +2951,11 @@ Integer::Integer(BufferedTransformation &encodedInteger, size_t byteCount, Signe Decode(encodedInteger, byteCount, s); } +Integer::Integer(const byte *encodedInteger, size_t byteCount, Signedness s) +{ + Decode(encodedInteger, byteCount, s); +} + Integer::Integer(const byte *encodedInteger, size_t byteCount, Signedness s, ByteOrder o) { assert(o == BIG_ENDIAN_ORDER || o == LITTLE_ENDIAN_ORDER); @@ -3104,7 +3114,7 @@ Integer::Integer(word value, size_t length) } template -static Integer StringToInteger(const T *str, ByteOrder order) +static Integer StringToInteger(const T *str, ByteOrder order = BIG_ENDIAN_ORDER) { assert( order == BIG_ENDIAN_ORDER || order == LITTLE_ENDIAN_ORDER ); @@ -3238,12 +3248,24 @@ static Integer StringToInteger(const T *str, ByteOrder order) return v; } +Integer::Integer(const char *str) + : reg(2), sign(POSITIVE) +{ + *this = StringToInteger(str); +} + Integer::Integer(const char *str, ByteOrder order) : reg(2), sign(POSITIVE) { *this = StringToInteger(str,order); } +Integer::Integer(const wchar_t *str) + : reg(2), sign(POSITIVE) +{ + *this = StringToInteger(str); +} + Integer::Integer(const wchar_t *str, ByteOrder order) : reg(2), sign(POSITIVE) { diff --git a/integer.h b/integer.h index f289779..f5773bd 100644 --- a/integer.h +++ b/integer.h @@ -120,7 +120,8 @@ public: //! insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10. //! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian //! integers with curve25519, Poly1305 and Microsoft CAPI. - explicit Integer(const char *str, ByteOrder order = BIG_ENDIAN_ORDER); + explicit Integer(const char *str); + explicit Integer(const char *str, ByteOrder order); //! \brief Convert from a wide C-string //! \param str wide C-string value @@ -129,7 +130,8 @@ public: //! insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10. //! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian //! integers with curve25519, Poly1305 and Microsoft CAPI. - explicit Integer(const wchar_t *str, ByteOrder order = BIG_ENDIAN_ORDER); + explicit Integer(const wchar_t *str); + explicit Integer(const wchar_t *str, ByteOrder order); //! \brief Convert from a big-endian byte array //! \param encodedInteger big-endian byte array @@ -138,7 +140,8 @@ public: //! \param order byte order //! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian //! integers with curve25519, Poly1305 and Microsoft CAPI. - Integer(const byte *encodedInteger, size_t byteCount, Signedness sign=UNSIGNED, ByteOrder order = BIG_ENDIAN_ORDER); + Integer(const byte *encodedInteger, size_t byteCount, Signedness sign=UNSIGNED); + Integer(const byte *encodedInteger, size_t byteCount, Signedness sign, ByteOrder order); //! \brief Convert from a big-endian array //! \param bt BufferedTransformation object with big-endian byte array @@ -147,7 +150,8 @@ public: //! \param order byte order //! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian //! integers with curve25519, Poly1305 and Microsoft CAPI. - Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign=UNSIGNED, ByteOrder order = BIG_ENDIAN_ORDER); + Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign=UNSIGNED); + Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign, ByteOrder order); //! \brief Convert from a BER encoded byte array //! \param bt BufferedTransformation object with BER encoded byte array -- 2.30.2