summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2019-01-29 14:16:30 +0100
committerJustus Winter <justus@sequoia-pgp.org>2019-01-29 17:41:26 +0100
commite5f3ae121f39b46cbc0416acb4ba7049f40203d2 (patch)
tree96b9c4881271006f76e8e3f6ff90cfe2335e8d20
parent442740975e41208c1cad300bc023ddedb04fc3a6 (diff)
openpgp-ffi: Convert Error.
-rw-r--r--ffi-macros/src/lib.rs12
-rw-r--r--ffi/src/core.rs11
-rw-r--r--ffi/src/error.rs2
-rw-r--r--openpgp-ffi/src/armor.rs10
-rw-r--r--openpgp-ffi/src/common.rs12
-rw-r--r--openpgp-ffi/src/crypto.rs2
-rw-r--r--openpgp-ffi/src/error.rs24
-rw-r--r--openpgp-ffi/src/io.rs9
-rw-r--r--openpgp-ffi/src/packet/key.rs2
-rw-r--r--openpgp-ffi/src/packet/pkesk.rs2
-rw-r--r--openpgp-ffi/src/packet/skesk.rs2
-rw-r--r--openpgp-ffi/src/packet_pile.rs8
-rw-r--r--openpgp-ffi/src/parse.rs19
-rw-r--r--openpgp-ffi/src/serialize.rs18
-rw-r--r--openpgp-ffi/src/tpk.rs24
-rw-r--r--openpgp-ffi/src/tsk.rs4
16 files changed, 83 insertions, 78 deletions
diff --git a/ffi-macros/src/lib.rs b/ffi-macros/src/lib.rs
index f9019151..9d486ba5 100644
--- a/ffi-macros/src/lib.rs
+++ b/ffi-macros/src/lib.rs
@@ -474,7 +474,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, _: &str, _: &str,
impl MoveResultIntoRaw<Option<::std::ptr::NonNull<#wrapper>>>
for ::failure::Fallible<#wrapped>
{
- fn move_into_raw(self, errp: Option<&mut *mut ::failure::Error>)
+ fn move_into_raw(self, errp: Option<&mut *mut ::error::Error>)
-> Option<::std::ptr::NonNull<#wrapper>> {
match self {
Ok(v) => {
@@ -483,7 +483,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, _: &str, _: &str,
},
Err(e) => {
if let Some(errp) = errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
None
},
@@ -494,7 +494,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, _: &str, _: &str,
impl MoveResultIntoRaw<Option<::std::ptr::NonNull<#wrapper>>>
for ::failure::Fallible<&#wrapped>
{
- fn move_into_raw(self, errp: Option<&mut *mut ::failure::Error>)
+ fn move_into_raw(self, errp: Option<&mut *mut ::error::Error>)
-> Option<::std::ptr::NonNull<#wrapper>> {
match self {
Ok(v) => {
@@ -503,7 +503,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, _: &str, _: &str,
},
Err(e) => {
if let Some(errp) = errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
None
},
@@ -514,7 +514,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, _: &str, _: &str,
impl MoveResultIntoRaw<Option<::std::ptr::NonNull<#wrapper>>>
for ::failure::Fallible<&mut #wrapped>
{
- fn move_into_raw(self, errp: Option<&mut *mut ::failure::Error>)
+ fn move_into_raw(self, errp: Option<&mut *mut ::error::Error>)
-> Option<::std::ptr::NonNull<#wrapper>> {
match self {
Ok(v) => {
@@ -523,7 +523,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, _: &str, _: &str,
},
Err(e) => {
if let Some(errp) = errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
None
},
diff --git a/ffi/src/core.rs b/ffi/src/core.rs
index f644dc4b..12ff469d 100644
--- a/ffi/src/core.rs
+++ b/ffi/src/core.rs
@@ -38,7 +38,6 @@
//! sq_context_free (ctx);
//! ```
-use failure;
use std::ptr;
use libc::{uint8_t, c_char, c_int};
@@ -49,7 +48,7 @@ use sequoia_core::Config;
#[doc(hidden)]
pub struct Context {
pub(crate) c: core::Context,
- e: *mut failure::Error,
+ e: *mut ::error::Error,
}
impl Context {
@@ -57,7 +56,7 @@ impl Context {
Context{c: c, e: ptr::null_mut()}
}
- pub(crate) fn errp(&mut self) -> &mut *mut failure::Error {
+ pub(crate) fn errp(&mut self) -> &mut *mut ::error::Error {
&mut self.e
}
}
@@ -67,7 +66,7 @@ impl Context {
/// Returns and removes the last error from the context.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn sq_context_last_error(ctx: *mut Context)
- -> *mut failure::Error {
+ -> *mut ::error::Error {
let ctx = ffi_param_ref_mut!(ctx);
::std::mem::replace(&mut ctx.e, ptr::null_mut())
}
@@ -82,7 +81,7 @@ pub extern "system" fn sq_context_last_error(ctx: *mut Context)
/// stored there.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn sq_context_new(domain: *const c_char,
- errp: Option<&mut *mut failure::Error>)
+ errp: Option<&mut *mut ::error::Error>)
-> *mut Context {
ffi_make_fry_from_errp!(errp);
let domain = ffi_param_cstr!(domain).to_string_lossy();
@@ -164,7 +163,7 @@ pub extern "system" fn sq_context_ephemeral(ctx: *const Context) -> uint8_t {
/// errors. If `errp` is not `NULL`, the error is stored there.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn sq_config_build(cfg: *mut Config,
- errp: Option<&mut *mut failure::Error>)
+ errp: Option<&mut *mut ::error::Error>)
-> *mut Context {
ffi_make_fry_from_errp!(errp);
let cfg = ffi_param_move!(cfg);
diff --git a/ffi/src/error.rs b/ffi/src/error.rs
index d9fb2c21..cffb1ba9 100644
--- a/ffi/src/error.rs
+++ b/ffi/src/error.rs
@@ -7,6 +7,8 @@ extern crate sequoia_openpgp as openpgp;
use sequoia_core as core;
pub use openpgp::error::Status;
+pub(crate) use ::openpgp::error::Error;
+
trait FromSequoiaError<'a> {
fn from_sequoia_error(&'a failure::Error) -> Status;
}
diff --git a/openpgp-ffi/src/armor.rs b/openpgp-ffi/src/armor.rs
index 41a78854..f1563c32 100644
--- a/openpgp-ffi/src/armor.rs
+++ b/openpgp-ffi/src/armor.rs
@@ -13,6 +13,8 @@ use libc::{self, uint8_t, c_char, c_int, size_t};
extern crate sequoia_openpgp;
use self::sequoia_openpgp::armor;
+use MoveIntoRaw;
+
/// Represents a (key, value) pair in an armor header.
#[repr(C)]
pub struct ArmorHeader {
@@ -111,7 +113,7 @@ pub extern "system" fn pgp_armor_reader_new(inner: *mut Box<Read>,
/// Creates a `Reader` from a file.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_armor_reader_from_file(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_armor_reader_from_file(errp: Option<&mut *mut ::error::Error>,
filename: *const c_char,
kind: c_int)
-> *mut Box<Read> {
@@ -233,7 +235,7 @@ pub extern "system" fn pgp_armor_reader_kind(reader: *mut Box<Read>)
///
/// [this]: fn.pgp_armor_reader_new.html
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_armor_reader_headers(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_armor_reader_headers(errp: Option<&mut *mut ::error::Error>,
reader: *mut Box<Read>,
len: *mut size_t)
-> *mut ArmorHeader {
@@ -268,7 +270,7 @@ pub extern "system" fn pgp_armor_reader_headers(errp: Option<&mut *mut failure::
},
Err(e) => {
if let Some(errp) = errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
ptr::null_mut()
},
@@ -354,7 +356,7 @@ fn strdup(s: &str) -> *mut c_char {
/// ```
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_armor_writer_new
- (errp: Option<&mut *mut failure::Error>,
+ (errp: Option<&mut *mut ::error::Error>,
inner: *mut Box<Write>,
kind: c_int,
header: *const ArmorHeader,
diff --git a/openpgp-ffi/src/common.rs b/openpgp-ffi/src/common.rs
index bb21276f..9d430a69 100644
--- a/openpgp-ffi/src/common.rs
+++ b/openpgp-ffi/src/common.rs
@@ -149,9 +149,10 @@ macro_rules! ffi_make_fry_from_errp {
match $expr {
Ok(_) => ::error::Status::Success,
Err(e) => {
+ use MoveIntoRaw;
let status = ::error::Status::from(&e);
if let Some(errp) = $errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
status
},
@@ -169,8 +170,9 @@ macro_rules! ffi_make_fry_from_errp {
match $expr {
Ok(v) => v,
Err(e) => {
+ use MoveIntoRaw;
if let Some(errp) = $errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
return $or;
},
@@ -254,7 +256,7 @@ pub(crate) trait MoveIntoRaw<T> {
/// Moves an object from Rust to C, releasing ownership.
pub(crate) trait MoveResultIntoRaw<T> {
/// Moves this object from Rust to C, releasing ownership.
- fn move_into_raw(self, errp: Option<&mut *mut ::failure::Error>) -> T;
+ fn move_into_raw(self, errp: Option<&mut *mut self::error::Error>) -> T;
}
/// Indicates that a pointer may be NULL.
@@ -621,7 +623,7 @@ fn verify_real<'a>(input: &'a mut Box<'a + Read>,
///
/// Note: output may be NULL, if the output is not required.
#[::ffi_catch_abort] #[no_mangle]
-pub fn pgp_verify<'a>(errp: Option<&mut *mut failure::Error>,
+pub fn pgp_verify<'a>(errp: Option<&mut *mut ::error::Error>,
input: *mut Box<'a + Read>,
dsig: Option<&'a mut Box<'a + Read>>,
output: Option<&'a mut Box<'a + Write>>,
@@ -744,7 +746,7 @@ fn decrypt_real<'a>(input: &'a mut Box<'a + Read>,
///
/// Note: all of the parameters are required; none may be NULL.
#[::ffi_catch_abort] #[no_mangle]
-pub fn pgp_decrypt<'a>(errp: Option<&mut *mut failure::Error>,
+pub fn pgp_decrypt<'a>(errp: Option<&mut *mut ::error::Error>,
input: *mut Box<'a + Read>,
output: *mut Box<'a + Write>,
get_public_keys: GetPublicKeysCallback,
diff --git a/openpgp-ffi/src/crypto.rs b/openpgp-ffi/src/crypto.rs
index c1a65ace..eebd7f3a 100644
--- a/openpgp-ffi/src/crypto.rs
+++ b/openpgp-ffi/src/crypto.rs
@@ -21,7 +21,7 @@ pub extern "system" fn pgp_signer_free
/// Creates a new key pair.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_key_pair_new
- (errp: Option<&mut *mut failure::Error>, public: *mut Key, secret: *mut crypto::mpis::SecretKey)
+ (errp: Option<&mut *mut ::error::Error>, public: *mut Key, secret: *mut crypto::mpis::SecretKey)
-> *mut crypto::KeyPair
{
ffi_make_fry_from_errp!(errp);
diff --git a/openpgp-ffi/src/error.rs b/openpgp-ffi/src/error.rs
index f3df776c..3d4dd3ca 100644
--- a/openpgp-ffi/src/error.rs
+++ b/openpgp-ffi/src/error.rs
@@ -6,28 +6,28 @@ use libc::c_char;
extern crate sequoia_openpgp as openpgp;
-/// Frees an error.
-#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_error_free(error: Option<&mut failure::Error>) {
- ffi_free!(error)
-}
+/// Complex errors.
+///
+/// This wraps [`failure::Error`]s.
+///
+/// [`failure::Error`]: https://docs.rs/failure/0.1.5/failure/struct.Error.html
+#[::ffi_wrapper_type(prefix = "pgp_", derive = "Display")]
+pub struct Error(failure::Error);
/// Returns the error message.
///
/// The returned value must be freed with `free(3)`.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_error_string(error: *const failure::Error)
- -> *mut c_char {
- let error = ffi_param_ref!(error);
- ffi_return_string!(&format!("{}", error))
+pub extern "system" fn pgp_error_string(error: *const Error)
+ -> *mut c_char {
+ ffi_return_string!(&format!("{}", error.ref_raw()))
}
/// Returns the error status code.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_error_status(error: *const failure::Error)
+pub extern "system" fn pgp_error_status(error: *const Error)
-> Status {
- let error = ffi_param_ref!(error);
- error.into()
+ error.ref_raw().into()
}
/// XXX: Reorder and name-space before release.
diff --git a/openpgp-ffi/src/io.rs b/openpgp-ffi/src/io.rs
index ca32ffca..436b6619 100644
--- a/openpgp-ffi/src/io.rs
+++ b/openpgp-ffi/src/io.rs
@@ -1,6 +1,5 @@
//! IO primitives for Sequoia.
-use failure;
use std::fs::File;
use std::io::{self, Read, Write, Cursor};
use std::path::Path;
@@ -12,7 +11,7 @@ use std::os::unix::io::FromRawFd;
/// Opens a file returning a reader.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_reader_from_file(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_reader_from_file(errp: Option<&mut *mut ::error::Error>,
filename: *const c_char)
-> *mut Box<Read> {
ffi_make_fry_from_errp!(errp);
@@ -50,7 +49,7 @@ pub extern "system" fn pgp_reader_free(reader: Option<&mut Box<Read>>) {
/// Reads up to `len` bytes into `buf`.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_reader_read(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_reader_read(errp: Option<&mut *mut ::error::Error>,
reader: *mut Box<Read>,
buf: *mut uint8_t, len: size_t)
-> ssize_t {
@@ -69,7 +68,7 @@ pub extern "system" fn pgp_reader_read(errp: Option<&mut *mut failure::Error>,
/// The file will be created if it does not exist, or be truncated
/// otherwise. If you need more control, use `pgp_writer_from_fd`.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_writer_from_file(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_writer_from_file(errp: Option<&mut *mut ::error::Error>,
filename: *const c_char)
-> *mut Box<Write> {
ffi_make_fry_from_errp!(errp);
@@ -161,7 +160,7 @@ pub extern "system" fn pgp_writer_free(writer: Option<&mut Box<Write>>) {
/// Writes up to `len` bytes of `buf` into `writer`.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_writer_write(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_writer_write(errp: Option<&mut *mut ::error::Error>,
writer: *mut Box<Write>,
buf: *const uint8_t, len: size_t)
-> ssize_t {
diff --git a/openpgp-ffi/src/packet/key.rs b/openpgp-ffi/src/packet/key.rs
index 07f32753..9bac8089 100644
--- a/openpgp-ffi/src/packet/key.rs
+++ b/openpgp-ffi/src/packet/key.rs
@@ -149,7 +149,7 @@ pub extern "system" fn pgp_key_public_key_bits(key: *const packet::Key)
///
/// Fails if the secret key is missing, or encrypted.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_key_into_key_pair(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_key_into_key_pair(errp: Option<&mut *mut ::error::Error>,
key: *mut packet::Key)
-> *mut self::openpgp::crypto::KeyPair
{
diff --git a/openpgp-ffi/src/packet/pkesk.rs b/openpgp-ffi/src/packet/pkesk.rs
index 17e7ab5b..4f528523 100644
--- a/openpgp-ffi/src/packet/pkesk.rs
+++ b/openpgp-ffi/src/packet/pkesk.rs
@@ -27,7 +27,7 @@ pub extern "system" fn pgp_pkesk_recipient(pkesk: *const PKESK)
/// is not written to it. Either way, `key_len` is set to the size of
/// the session key.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_pkesk_decrypt(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_pkesk_decrypt(errp: Option<&mut *mut ::error::Error>,
pkesk: *const PKESK,
secret_key: *const Key,
algo: *mut uint8_t, // XXX
diff --git a/openpgp-ffi/src/packet/skesk.rs b/openpgp-ffi/src/packet/skesk.rs
index 52898513..98f5e467 100644
--- a/openpgp-ffi/src/packet/skesk.rs
+++ b/openpgp-ffi/src/packet/skesk.rs
@@ -16,7 +16,7 @@ use error::Status;
/// is not written to it. Either way, `key_len` is set to the size of
/// the session key.
#[::ffi_catch_abort] #[no_mangle]
-pub extern "system" fn pgp_skesk_decrypt(errp: Option<&mut *mut failure::Error>,
+pub extern "system" fn pgp_skesk_decrypt(errp: Option<&mut *mut ::error::Error>,
skesk: *const Packet,
password: *const uint8_t,
password_len: size_t,
diff --git a/openpgp-ffi/src/packet_pile.rs b/openpgp-ffi/src/packet_pile.rs
index 326aeafb..ad91bed3 100644
--- a/openpgp-ffi/src/packet_pile.rs
+++ b/openpgp-ffi/src/packet_pile.rs
@@ -38,7 +38,7 @@ pub struct PacketPile(openpgp::PacketPile);
///
/// Note: this interface *does* buffer the contents of packets.
#[::ffi_catch_abort] #[no_mangle] pub extern "system"
-fn pgp_packet_pile_from_reader(errp: Option<&mut *mut failure::Error>,
+fn pgp_packet_pile_from_reader(errp: Option<&mut *mut ::error::Error>,
reader: *mut Box<Read>)
-> Maybe<PacketPile> {
let reader = ffi_param_ref_mut!(reader);
@@ -50,7 +50,7 @@ fn pgp_packet_pile_from_reader(errp: Option<&mut *mut failure::Error>,
///
/// See `pgp_packet_pile_from_reader` for more details and caveats.
#[::ffi_catch_abort] #[no_mangle] pub extern "system"
-fn pgp_packet_pile_from_file(errp: Option<&mut *mut failure::Error>,
+fn pgp_packet_pile_from_file(errp: Option<&mut *mut ::error::Error>,
filename: *const c_char)
-> Maybe<PacketPile> {
let filename = ffi_param_cstr!(filename).to_string_lossy().into_owned();
@@ -61,7 +61,7 @@ fn pgp_packet_pile_from_file(errp: Option<&mut *mut failure::Error>,
///
/// See `pgp_packet_pile_from_reader` for more details and caveats.
#[::ffi_catch_abort] #[no_mangle] pub extern "system"
-fn pgp_packet_pile_from_bytes(errp: Option<&mut *mut failure::Error>,
+fn pgp_packet_pile_from_bytes(errp: Option<&mut *mut ::error::Error>,
b: *const uint8_t, len: size_t)
-> Maybe<PacketPile> {
assert!(!b.is_null());
@@ -74,7 +74,7 @@ fn pgp_packet_pile_from_bytes(errp: Option<&mut *mut failure::Error>,
/// Serializes the packet pile.
#[::ffi_catch_abort] #[no_mangle] pub extern "system"
-fn pgp_packet_pile_serialize(errp: Option<&mut *mut failure::Error>,
+fn pgp_packet_pile_serialize(errp: Option<&mut *mut ::error::Error>,
packet_pile: *const PacketPile,
writer: *mut Box<Write>)
-> Status {
diff --git a/openpgp-ffi/src/parse.rs b/openpgp-ffi/src/parse.rs
index c5d7d626..72d55d30 100644
--- a/openpgp-ffi/src/parse.rs
+++ b/openpgp-ffi/src/parse.rs
@@ -26,6 +26,7 @@ use self::openpgp::parse::{
};
use error::Status;
+use MoveIntoRaw;
/// Starts parsing OpenPGP packets stored in a `pgp_reader_t`
/// object.
@@ -34,7 +35,7 @@ use error::Status;
/// the stream.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_from_reader<'a>
- (errp: Option<&mut *mut failure::Error>, reader: *mut Box<'a + Read>)
+ (errp: Option<&mut *mut ::error::Error>, reader: *mut Box<'a + Read>)
-> *mut PacketParserResult<'a> {
ffi_make_fry_from_errp!(errp);
let reader = ffi_param_ref_mut!(reader);
@@ -47,7 +48,7 @@ pub extern "system" fn pgp_packet_parser_from_reader<'a>
/// the stream.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_from_file
- (errp: Option<&mut *mut failure::Error>, filename: *const c_char)
+ (errp: Option<&mut *mut ::error::Error>, filename: *const c_char)
-> *mut PacketParserResult<'static> {
ffi_make_fry_from_errp!(errp);
let filename = ffi_param_cstr!(filename).to_string_lossy().into_owned();
@@ -60,7 +61,7 @@ pub extern "system" fn pgp_packet_parser_from_file
/// the stream.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_from_bytes
- (errp: Option<&mut *mut failure::Error>, b: *const uint8_t, len: size_t)
+ (errp: Option<&mut *mut ::error::Error>, b: *const uint8_t, len: size_t)
-> *mut PacketParserResult<'static> {
ffi_make_fry_from_errp!(errp);
assert!(!b.is_null());
@@ -193,7 +194,7 @@ pub extern "system" fn pgp_packet_parser_recursion_depth
/// Consumes the given packet parser.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_next<'a>
- (errp: Option<&mut *mut failure::Error>,
+ (errp: Option<&mut *mut ::error::Error>,
pp: *mut PacketParser<'a>,
old_packet: Option<&mut *mut Packet>,
ppr: Option<&mut *mut PacketParserResult<'a>>)
@@ -237,7 +238,7 @@ pub extern "system" fn pgp_packet_parser_next<'a>
/// Consumes the given packet parser.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_recurse<'a>
- (errp: Option<&mut *mut failure::Error>,
+ (errp: Option<&mut *mut ::error::Error>,
pp: *mut PacketParser<'a>,
old_packet: Option<&mut *mut Packet>,
ppr: Option<&mut *mut PacketParserResult<'a>>)
@@ -267,7 +268,7 @@ pub extern "system" fn pgp_packet_parser_recurse<'a>
/// content is small.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_buffer_unread_content<'a>
- (errp: Option<&mut *mut failure::Error>,
+ (errp: Option<&mut *mut ::error::Error>,
pp: *mut PacketParser<'a>,
len: *mut usize)
-> *const uint8_t {
@@ -285,7 +286,7 @@ pub extern "system" fn pgp_packet_parser_buffer_unread_content<'a>
/// `PacketParserBuild` to customize the default behavior.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_finish<'a>
- (errp: Option<&mut *mut failure::Error>, pp: *mut PacketParser<'a>,
+ (errp: Option<&mut *mut ::error::Error>, pp: *mut PacketParser<'a>,
packet: Option<&mut *const Packet>)
-> Status
{
@@ -301,7 +302,7 @@ pub extern "system" fn pgp_packet_parser_finish<'a>
Err(e) => {
let status = Status::from(&e);
if let Some(errp) = errp {
- *errp = box_raw!(e);
+ *errp = e.move_into_raw();
}
status
},
@@ -319,7 +320,7 @@ pub extern "system" fn pgp_packet_parser_finish<'a>
/// returns `Error::InvalidOperation`.
#[::ffi_catch_abort] #[no_mangle]
pub extern "system" fn pgp_packet_parser_decrypt<'a>
- (errp: Option<&mut *mut failure::Error>,
+ (errp: Option<&mut *mut ::error::Error>,
pp: *mut PacketParser<'a>,
algo: uint8_t, // XXX
key: *const uint8_t, key_len: size_t)
diff --git a/openpgp-ffi/src/serialize.rs b/openpgp-ffi/src/serialize.rs
index f94cb2ad..93c0895d 100644
--- a/openpgp-ffi/src/serialize.rs
+++ b/openpgp-ffi/src/serialize.rs
@@ -50,7 +50,7 @@ pub extern "system" fn pgp_writer_stack