diff options
author | Pauli <paul.dale@oracle.com> | 2020-05-11 09:37:45 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2020-06-24 20:05:41 +1000 |
commit | 5fdaa38febb7463dbd44f849b2930edcbd5f6bae (patch) | |
tree | 3763d73fb1ec5ae8d08de03e9107973e94ff8b5a /crypto/params.c | |
parent | f3a2570794b45f7f6391cb7f447b27c1ee758441 (diff) | |
download | openssl-5fdaa38febb7463dbd44f849b2930edcbd5f6bae.zip openssl-5fdaa38febb7463dbd44f849b2930edcbd5f6bae.tar.gz openssl-5fdaa38febb7463dbd44f849b2930edcbd5f6bae.tar.bz2 |
params: add OSSL_PARAM helpers for time_t.
POSIX mandates that time_t is a signed integer but it doesn't specify the
lenght. Having wrappers lets uses ignore this.
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/11682)
Diffstat (limited to 'crypto/params.c')
-rw-r--r-- | crypto/params.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/crypto/params.c b/crypto/params.c index 9bccc51..67ca4f0 100644 --- a/crypto/params.c +++ b/crypto/params.c @@ -617,6 +617,33 @@ OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf) sizeof(size_t)); } +int OSSL_PARAM_get_time_t(const OSSL_PARAM *p, time_t *val) +{ + switch (sizeof(time_t)) { + case sizeof(int32_t): + return OSSL_PARAM_get_int32(p, (int32_t *)val); + case sizeof(int64_t): + return OSSL_PARAM_get_int64(p, (int64_t *)val); + } + return 0; +} + +int OSSL_PARAM_set_time_t(OSSL_PARAM *p, time_t val) +{ + switch (sizeof(time_t)) { + case sizeof(int32_t): + return OSSL_PARAM_set_int32(p, (int32_t)val); + case sizeof(int64_t): + return OSSL_PARAM_set_int64(p, (int64_t)val); + } + return 0; +} + +OSSL_PARAM OSSL_PARAM_construct_time_t(const char *key, time_t *buf) +{ + return ossl_param_construct(key, OSSL_PARAM_INTEGER, buf, sizeof(time_t)); +} + int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val) { BIGNUM *b; |