diff options
-rw-r--r-- | openpgp-ffi/include/sequoia/openpgp.h | 3 | ||||
-rw-r--r-- | openpgp-ffi/src/cert.rs | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/openpgp-ffi/include/sequoia/openpgp.h b/openpgp-ffi/include/sequoia/openpgp.h index 21d85ed2..2e4807a3 100644 --- a/openpgp-ffi/include/sequoia/openpgp.h +++ b/openpgp-ffi/include/sequoia/openpgp.h @@ -948,7 +948,8 @@ pgp_cert_valid_key_iter_t pgp_cert_valid_key_iter /*/ /// Returns the Cert's primary user id (if any). /*/ -char *pgp_cert_primary_user_id(pgp_cert_t cert, pgp_policy_t policy); +char *pgp_cert_primary_user_id(pgp_cert_t cert, pgp_policy_t policy, + time_t when); /*/ /// Returns a CertParser. diff --git a/openpgp-ffi/src/cert.rs b/openpgp-ffi/src/cert.rs index 6a781411..f25296ef 100644 --- a/openpgp-ffi/src/cert.rs +++ b/openpgp-ffi/src/cert.rs @@ -357,12 +357,13 @@ fn pgp_cert_is_tsk(cert: *const Cert) /// Returns an iterator over the Cert's user id bindings. #[::sequoia_ffi_macros::extern_fn] #[no_mangle] pub extern "C" -fn pgp_cert_primary_user_id(cert: *const Cert, policy: *const Policy) +fn pgp_cert_primary_user_id(cert: *const Cert, policy: *const Policy, + when: time_t) -> *mut c_char { let cert = cert.ref_raw(); let policy = &**policy.ref_raw(); - if let Some(binding) = cert.primary_userid(policy, None) { + if let Some(binding) = cert.primary_userid(policy, maybe_time(when)) { ffi_return_string!(binding.userid().value()) } else { ptr::null_mut() |