summaryrefslogtreecommitdiffstats
path: root/ffi/src/net.rs
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2019-01-08 18:28:43 +0100
committerJustus Winter <justus@sequoia-pgp.org>2019-01-09 12:47:41 +0100
commit2cad45090267d6936d1f107720058b7a761f8f00 (patch)
tree72f169b2861ec5ebf5423d23890f93dbfe65b1dd /ffi/src/net.rs
parent3f89bf4477018c5bd75b78253c1fed68baa4e424 (diff)
ffi: Introduce macro for passing references from C.
Diffstat (limited to 'ffi/src/net.rs')
-rw-r--r--ffi/src/net.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/ffi/src/net.rs b/ffi/src/net.rs
index bd98bca1..25e1313a 100644
--- a/ffi/src/net.rs
+++ b/ffi/src/net.rs
@@ -51,7 +51,7 @@ use super::core::Context;
#[no_mangle]
pub extern "system" fn sq_keyserver_new(ctx: Option<&mut Context>,
uri: *const c_char) -> *mut KeyServer {
- let ctx = ctx.expect("Context is NULL");
+ let ctx = ffi_param_ref!(ctx);
let uri = unsafe {
if uri.is_null() { None } else { Some(CStr::from_ptr(uri)) }
};
@@ -71,7 +71,7 @@ pub extern "system" fn sq_keyserver_with_cert(ctx: Option<&mut Context>,
uri: *const c_char,
cert: *const uint8_t,
len: size_t) -> *mut KeyServer {
- let ctx = ctx.expect("Context is NULL");
+ let ctx = ffi_param_ref!(ctx);
let uri = unsafe {
if uri.is_null() { None } else { Some(CStr::from_ptr(uri)) }
};
@@ -101,7 +101,7 @@ pub extern "system" fn sq_keyserver_with_cert(ctx: Option<&mut Context>,
#[no_mangle]
pub extern "system" fn sq_keyserver_sks_pool(ctx: Option<&mut Context>)
-> *mut KeyServer {
- let ctx = ctx.expect("Context is NULL");
+ let ctx = ffi_param_ref!(ctx);
fry_box!(ctx, KeyServer::sks_pool(&ctx.c))
}
@@ -118,9 +118,9 @@ pub extern "system" fn sq_keyserver_free(ks: *mut KeyServer) {
pub extern "system" fn sq_keyserver_get(ctx: Option<&mut Context>,
ks: Option<&mut KeyServer>,
id: Option<&KeyID>) -> *mut TPK {
- let ctx = ctx.expect("Context is NULL");
- let ks = ks.expect("KeyServer is NULL");
- let id = id.expect("KeyID is NULL");
+ let ctx = ffi_param_ref!(ctx);
+ let ks = ffi_param_ref!(ks);
+ let id = ffi_param_ref!(id);
fry_box!(ctx, ks.get(&id))
}
@@ -133,9 +133,9 @@ pub extern "system" fn sq_keyserver_send(ctx: Option<&mut Context>,
ks: Option<&mut KeyServer>,
tpk: Option<&TPK>)
-> Status {
- let ctx = ctx.expect("Context is NULL");
- let ks = ks.expect("KeyServer is NULL");
- let tpk = tpk.expect("TPK is NULL");
+ let ctx = ffi_param_ref!(ctx);
+ let ks = ffi_param_ref!(ks);
+ let tpk = ffi_param_ref!(tpk);
fry_status!(ctx, ks.send(tpk))
}