summaryrefslogtreecommitdiff
path: root/mpi/mpicoder.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-07-17 16:55:02 +0200
committerWerner Koch <wk@gnupg.org>2013-07-17 16:55:02 +0200
commit364d019e3ffedfcb434576702f73e767cb9389ef (patch)
tree5d43e0c34d37345d9ed5721b8f18747919e04a9f /mpi/mpicoder.c
parent5940e66cbefea3de5924f494f18aed69bb694bff (diff)
downloadlibgcrypt-364d019e3ffedfcb434576702f73e767cb9389ef.tar.gz
Allow gcry_mpi_dump to print opaque MPIs.
* mpi/mpicoder.c (gcry_mpi_dump): Detect abd print opaque MPIs. * tests/mpitests.c (test_opaque): New. (main): Call new test. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'mpi/mpicoder.c')
-rw-r--r--mpi/mpicoder.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/mpi/mpicoder.c b/mpi/mpicoder.c
index 06d5553e..aca3710e 100644
--- a/mpi/mpicoder.c
+++ b/mpi/mpicoder.c
@@ -187,6 +187,17 @@ gcry_mpi_dump (const gcry_mpi_t a)
log_printf (" ");
if (!a)
log_printf ("[MPI_NULL]");
+ else if (mpi_is_opaque (a))
+ {
+ unsigned int nbits;
+ const unsigned char *p;
+
+ p = gcry_mpi_get_opaque (a, &nbits);
+ log_printf ("[%u bit: ", nbits);
+ for (i=0; i < (nbits + 7)/8; i++)
+ log_printf ("%02x", p[i]);
+ log_printf ("]");
+ }
else
{
if (a->sign)