From a83f590e0e89883e8362bb5c4a760f09856378f9 Mon Sep 17 00:00:00 2001 From: Erwin Nindl Date: Wed, 12 Dec 2007 14:14:58 +0000 Subject: changed Mpi::getBuf, now returns u_int8_t *! --- mpi.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'mpi.cpp') diff --git a/mpi.cpp b/mpi.cpp index 6a94f3e..afd1785 100644 --- a/mpi.cpp +++ b/mpi.cpp @@ -127,17 +127,22 @@ void Mpi::clearHighBit(u_int32_t n) gcry_mpi_clear_highbit( val_, n ); } -Buffer Mpi::getBuf(u_int32_t min_len) const +u_int8_t* Mpi::getBuf(u_int32_t buf_len) const { - u_int32_t len = 0, written = 0; - len = gcry_mpi_get_nbits( val_ ); + // u_int32_t len = 0; + u_int32_t written = 0; - Buffer res(static_cast(len/8)+1); + u_int8_t *res = NULL; + res = new u_int8_t[buf_len]; + std::memset(res, 0, buf_len); - if(res.getLength() < min_len) - res.resizeBack(min_len); + // len = gcry_mpi_get_nbits( val_ ); + // if( len%8 == 0 ) + // len = len/8; + // else + // len = (len/8)+1; - gcry_mpi_print( GCRYMPI_FMT_STD, res, res.getLength(), &written, val_ ); + gcry_mpi_print( GCRYMPI_FMT_STD, res, buf_len, &written, val_ ); return res; } -- cgit v1.2.3