summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openpgp-ffi/include/sequoia/openpgp.h3
-rw-r--r--openpgp-ffi/src/cert.rs5
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()