mirror of
https://github.com/dnlbauer/xdrfile.git
synced 2026-09-10 14:15:31 +00:00
no more BindgenTy1
This commit is contained in:
@@ -6,21 +6,20 @@ pub struct XDRFILE {
|
||||
_unused: [u8; 0],
|
||||
}
|
||||
|
||||
pub type BindgenTy1 = u32;
|
||||
pub const exdrOK: BindgenTy1 = 0;
|
||||
pub const exdrHEADER: BindgenTy1 = 1;
|
||||
pub const exdrSTRING: BindgenTy1 = 2;
|
||||
pub const exdrDOUBLE: BindgenTy1 = 3;
|
||||
pub const exdrINT: BindgenTy1 = 4;
|
||||
pub const exdrFLOAT: BindgenTy1 = 5;
|
||||
pub const exdrUINT: BindgenTy1 = 6;
|
||||
pub const exdr3DX: BindgenTy1 = 7;
|
||||
pub const exdrCLOSE: BindgenTy1 = 8;
|
||||
pub const exdrMAGIC: BindgenTy1 = 9;
|
||||
pub const exdrNOMEM: BindgenTy1 = 10;
|
||||
pub const exdrENDOFFILE: BindgenTy1 = 11;
|
||||
pub const exdrFILENOTFOUND: BindgenTy1 = 12;
|
||||
pub const exdrNR: BindgenTy1 = 13;
|
||||
pub const exdrOK: i32 = 0;
|
||||
pub const exdrHEADER: i32 = 1;
|
||||
pub const exdrSTRING: i32 = 2;
|
||||
pub const exdrDOUBLE: i32 = 3;
|
||||
pub const exdrINT: i32 = 4;
|
||||
pub const exdrFLOAT: i32 = 5;
|
||||
pub const exdrUINT: i32 = 6;
|
||||
pub const exdr3DX: i32 = 7;
|
||||
pub const exdrCLOSE: i32 = 8;
|
||||
pub const exdrMAGIC: i32 = 9;
|
||||
pub const exdrNOMEM: i32 = 10;
|
||||
pub const exdrENDOFFILE: i32 = 11;
|
||||
pub const exdrFILENOTFOUND: i32 = 12;
|
||||
pub const exdrNR: i32 = 13;
|
||||
|
||||
extern "C" {
|
||||
pub static mut exdr_message: [*mut ::std::os::raw::c_char; 13usize];
|
||||
|
||||
@@ -65,7 +65,7 @@ mod tests {
|
||||
|
||||
unsafe {
|
||||
let code = read_trr_nframes(path.as_ptr(), &mut nframes);
|
||||
assert!(code as u32 == exdrOK);
|
||||
assert!(code == exdrOK);
|
||||
}
|
||||
assert!(nframes == 38, "{:?}", nframes);
|
||||
Ok(())
|
||||
@@ -106,7 +106,7 @@ mod tests {
|
||||
v.as_ptr() as *mut Rvec,
|
||||
f.as_ptr() as *mut Rvec,
|
||||
);
|
||||
assert!(write_code as u32 == exdrOK);
|
||||
assert!(write_code == exdrOK);
|
||||
xdrfile_close(xdr);
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ mod tests {
|
||||
v2.as_ptr() as *mut Rvec,
|
||||
f2.as_ptr() as *mut Rvec,
|
||||
);
|
||||
assert!(read_code as u32 == exdrOK);
|
||||
assert!(read_code == exdrOK);
|
||||
xdrfile_close(xdr);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ mod tests {
|
||||
|
||||
unsafe {
|
||||
let code = read_xtc_nframes(path.as_ptr(), &mut nframes);
|
||||
assert!(code as u32 == exdrOK);
|
||||
assert!(code == exdrOK);
|
||||
}
|
||||
assert!(nframes == 38, "{:?}", nframes);
|
||||
Ok(())
|
||||
@@ -96,7 +96,7 @@ mod tests {
|
||||
x.as_ptr() as *mut Rvec,
|
||||
1000.0,
|
||||
);
|
||||
assert!(write_code as u32 == exdrOK);
|
||||
assert!(write_code == exdrOK);
|
||||
xdrfile_close(xdr);
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ mod tests {
|
||||
x2.as_ptr() as *mut Rvec,
|
||||
&mut prec,
|
||||
);
|
||||
assert!(read_code as u32 == exdrOK);
|
||||
assert!(read_code == exdrOK);
|
||||
xdrfile_close(xdr);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use crate::c_abi;
|
||||
use crate::FileMode;
|
||||
use crate::Frame;
|
||||
use std::convert::TryInto;
|
||||
use std::error::Error as StdError;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
@@ -206,7 +205,7 @@ pub enum ErrorCode {
|
||||
/// Failed to seek within file
|
||||
ExdrNr,
|
||||
/// Something unexpected happened
|
||||
UnmatchedCode(c_abi::xdrfile::BindgenTy1),
|
||||
UnmatchedCode(i32),
|
||||
}
|
||||
|
||||
impl ErrorCode {
|
||||
@@ -216,13 +215,9 @@ impl ErrorCode {
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> From<T> for ErrorCode
|
||||
where
|
||||
T: TryInto<c_abi::xdrfile::BindgenTy1>,
|
||||
<T as TryInto<c_abi::xdrfile::BindgenTy1>>::Error: std::fmt::Debug,
|
||||
{
|
||||
fn from(code: T) -> Self {
|
||||
match code.try_into().expect("C API return code was out of range") {
|
||||
impl From<i32> for ErrorCode {
|
||||
fn from(code: i32) -> Self {
|
||||
match code {
|
||||
c_abi::xdrfile::exdrOK => Self::ExdrOk,
|
||||
c_abi::xdrfile::exdrHEADER => Self::ExdrHeader,
|
||||
c_abi::xdrfile::exdrSTRING => Self::ExdrString,
|
||||
|
||||
Reference in New Issue
Block a user