summaryrefslogtreecommitdiffstats
path: root/openpgp-ffi
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2019-02-12 13:28:39 +0100
committerJustus Winter <justus@sequoia-pgp.org>2019-02-12 13:28:39 +0100
commitdc138f1dfb108fb515031a096115fe3dfce03b96 (patch)
tree87a87dd43a0f46b11e5dd230a2edd6df28f07914 /openpgp-ffi
parentd51227e61c379f08a91610ddb2678c44fae6d9eb (diff)
openpgp-ffi: Return wrapped KeyIDs and Fingerprints.
Diffstat (limited to 'openpgp-ffi')
-rw-r--r--openpgp-ffi/src/packet/signature.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/openpgp-ffi/src/packet/signature.rs b/openpgp-ffi/src/packet/signature.rs
index 0b85b204..21bba540 100644
--- a/openpgp-ffi/src/packet/signature.rs
+++ b/openpgp-ffi/src/packet/signature.rs
@@ -11,14 +11,17 @@ use libc::time_t;
extern crate sequoia_openpgp as openpgp;
use self::openpgp::{
- KeyID,
packet,
Packet,
- Fingerprint,
};
use self::openpgp::packet::{
Signature,
};
+use super::super::fingerprint::Fingerprint;
+use super::super::keyid::KeyID;
+
+use Maybe;
+use MoveIntoRaw;
/// Frees the Signature.
#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
@@ -42,9 +45,9 @@ pub extern "system" fn pgp_signature_into_packet(s: *mut Signature)
/// subpacket, this still returns NULL.
#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
pub extern "system" fn pgp_signature_issuer(sig: *const packet::Signature)
- -> *mut KeyID {
+ -> Maybe<KeyID> {
let sig = ffi_param_ref!(sig);
- maybe_box_raw!(sig.issuer())
+ sig.issuer().move_into_raw()
}
/// Returns the value of the `Signature` packet's IssuerFingerprint subpacket.
@@ -55,10 +58,10 @@ pub extern "system" fn pgp_signature_issuer(sig: *const packet::Signature)
#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
pub extern "system" fn pgp_signature_issuer_fingerprint(
sig: *const packet::Signature)
- -> *mut Fingerprint
+ -> Maybe<Fingerprint>
{
let sig = ffi_param_ref!(sig);
- maybe_box_raw!(sig.issuer_fingerprint())
+ sig.issuer_fingerprint().move_into_raw()
}