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