diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..565f519 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,37 @@ +use std::os::raw::{c_char, c_void}; + +/// # TIFF Warning Handler Definition +pub type TIFFWarningHandler = Option<unsafe extern "C" fn(module: *const c_char, fmt: *const c_char, ap: *mut c_void)>; + +/// # TIFF Ignore Warnings Handle +unsafe extern "C" fn tiff_ignore_warning_handle(_module: *const c_char, _fmt: *const c_char, _ap: *mut std::ffi::c_void) { + // Do nothing +} + +#[link(name = "tiff")] +unsafe extern "C" { + pub fn TIFFSetWarningHandler(handler: TIFFWarningHandler) -> TIFFWarningHandler; +} + +/// # Ignore TIFF Warnings +pub fn tiff_ignore_warnings() { + unsafe { + let _ = TIFFSetWarningHandler(Some(tiff_ignore_warning_handle)); + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn it_works() { + assert_eq!(0, 0); + } + + #[test] + fn ignore_warning_test() { + tiff_ignore_warnings(); + assert_eq!(1, 1); + } +} |