diff --git a/src/lib.rs b/src/lib.rs index dc979d2..2179dc5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,6 @@ use log::warn; use simple_logger::SimpleLogger; -use std::ffi::{CStr, CString}; +use std::ffi::CStr; use std::os::raw::c_char; use tiktoken_rs; use tiktoken_rs::CoreBPE; @@ -462,22 +462,14 @@ pub extern "C" fn tiktoken_corebpe_decode( #[no_mangle] pub extern "C" fn tiktoken_c_version() -> *const c_char { - const TIKTOKEN_C_VERSION: &str = env!("CARGO_PKG_VERSION"); - let c_str = match CString::new(TIKTOKEN_C_VERSION.to_string()) { - Ok(c_str) => c_str, - Err(_) => { - warn!("Failed to convert to CString!"); - // "unknown" version - CString::new("unknown".to_string()).unwrap() - } - }; - let ptr = c_str.into_raw(); - ptr + static VERSION: &str = concat!(env!("CARGO_PKG_VERSION"), "\0"); + VERSION.as_ptr() as *const c_char } #[cfg(test)] mod tests { use super::*; + use std::ffi::CString; #[test] fn test_tiktoken_c_version() {