diff options
author | Werner Koch <wk@gnupg.org> | 2013-09-07 10:06:46 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-09-16 14:42:37 +0200 |
commit | 44a2c34e90ed7de149952398787906d8823b636b (patch) | |
tree | b8ee249bb3669ba9b7ec87152d09f5c2340a48d2 /mpi/mpiutil.c | |
parent | 8ebc94d11a1eb93f2365c93f555e958700fdfbd4 (diff) | |
download | libgcrypt-44a2c34e90ed7de149952398787906d8823b636b.tar.gz |
mpi: Add internal convenience function.
* mpi/mpiutil.c (_gcry_mpi_get_opaque_copy): New.
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'mpi/mpiutil.c')
-rw-r--r-- | mpi/mpiutil.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mpi/mpiutil.c b/mpi/mpiutil.c index 433dda6b..57fe72a7 100644 --- a/mpi/mpiutil.c +++ b/mpi/mpiutil.c @@ -291,6 +291,22 @@ gcry_mpi_get_opaque( gcry_mpi_t a, unsigned int *nbits ) } +void * +_gcry_mpi_get_opaque_copy (gcry_mpi_t a, unsigned int *nbits) +{ + const void *s; + void *d; + unsigned int n; + + s = gcry_mpi_get_opaque (a, nbits); + if (!s && nbits) + return NULL; + n = (*nbits+7)/8; + d = gcry_is_secure (s)? gcry_malloc_secure (n) : gcry_malloc (n); + memcpy (d, s, n); + return d; +} + /**************** * Note: This copy function should not interpret the MPI * but copy it transparently. |