From 173d7f73646d6e20b2c0b4e7a051d7e0f9c445c0 Mon Sep 17 00:00:00 2001 From: cc Date: Wed, 20 Aug 2025 16:41:49 -0700 Subject: Initial Commit --- .gitignore | 1 + Cargo.lock | 7 +++++++ Cargo.toml | 6 ++++++ src/lib.rs | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 src/lib.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..9236ccc --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "r_lib" +version = "0.0.1" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..eb9cc17 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "r_lib" +version = "0.0.1" +edition = "2024" + +[dependencies] 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; + +/// # 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); + } +} -- cgit v1.2.1