[pkg-opensc-commit] [libp11] 48/86: Avoid converting function pointers to 'void *'
Eric Dorland
eric at moszumanska.debian.org
Sun Jul 24 21:40:21 UTC 2016
This is an automated email from the git hooks/post-receive script.
eric pushed a commit to branch master
in repository libp11.
commit 521c0161d9c428066d10c0b4385e0cd8cd182b66
Author: Michał Trojnara <Michal.Trojnara at stunnel.org>
Date: Thu Feb 11 14:05:19 2016 +0100
Avoid converting function pointers to 'void *'
---
src/p11_ec.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/p11_ec.c b/src/p11_ec.c
index 4a608db..ce7e03b 100644
--- a/src/p11_ec.c
+++ b/src/p11_ec.c
@@ -47,11 +47,17 @@ static int ec_ex_index = 0;
/* ecdsa_method maintains unchanged layout between 0.9.8 and 1.0.1 */
+typedef ECDSA_SIG *(*sign_fn)(const unsigned char *, int,
+ const BIGNUM *, const BIGNUM *, EC_KEY *);
+typedef int (*sign_setup_fn)(EC_KEY *, BN_CTX *, BIGNUM **, BIGNUM **);
+
/* Data pointers and function pointers may have different sizes on some
* architectures */
struct ecdsa_method {
char *name;
- void (*sign)(), (*sign_setup)(), (*verify)();
+ sign_fn sign;
+ sign_setup_fn sign_setup;
+ void (*verify)();
int flags;
char *data;
};
@@ -76,12 +82,12 @@ void ECDSA_METHOD_free(ECDSA_METHOD *m)
OPENSSL_free(m);
}
-void ECDSA_METHOD_set_sign(ECDSA_METHOD *m, void *f)
+void ECDSA_METHOD_set_sign(ECDSA_METHOD *m, sign_fn f)
{
m->sign = f;
}
-void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *m, void *f)
+void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *m, sign_setup_fn f)
{
m->sign_setup = f;
}
@@ -94,11 +100,14 @@ void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *m, void *f)
/* ecdh_method maintains unchanged layout between 0.9.8 and 1.0.2 */
+typedef int (*compute_key_fn)(void *, size_t, const EC_POINT *, const EC_KEY *,
+ void *(*)(const void *, size_t, void *, size_t *));
+
/* Data pointers and function pointers may have different sizes on some
* architectures */
struct ecdh_method {
char *name;
- void (*compute_key)();
+ compute_key_fn compute_key;
int flags;
char *data;
};
@@ -123,7 +132,7 @@ void ECDH_METHOD_free(ECDH_METHOD *m)
OPENSSL_free(m);
}
-void ECDH_METHOD_set_compute_key(ECDH_METHOD *m, void *f)
+void ECDH_METHOD_set_compute_key(ECDH_METHOD *m, compute_key_fn f)
{
m->compute_key = f;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opensc/libp11.git
More information about the pkg-opensc-commit
mailing list