We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0f92542 commit ff2ffa9Copy full SHA for ff2ffa9
1 file changed
src/lib.rs
@@ -93,6 +93,22 @@ fn set_error(msg: &str) {
93
pub extern "C" fn tts_create(
94
engine_id: *const c_char,
95
credentials_json: *const c_char,
96
+) -> *mut tts_ctx {
97
+ let result = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| {
98
+ tts_create_inner(engine_id, credentials_json)
99
+ }));
100
+ match result {
101
+ Ok(ptr) => ptr,
102
+ Err(_) => {
103
+ set_error("engine creation panicked");
104
+ ptr::null_mut()
105
+ }
106
107
+}
108
+
109
+fn tts_create_inner(
110
+ engine_id: *const c_char,
111
+ credentials_json: *const c_char,
112
) -> *mut tts_ctx {
113
if engine_id.is_null() {
114
set_error("engine_id is null");
0 commit comments