diff --git a/lib/c-api/src/wasm_c_api/externals/function.rs b/lib/c-api/src/wasm_c_api/externals/function.rs index e5dfe4191..fe29b2c76 100644 --- a/lib/c-api/src/wasm_c_api/externals/function.rs +++ b/lib/c-api/src/wasm_c_api/externals/function.rs @@ -87,13 +87,17 @@ pub unsafe extern "C" fn wasm_func_new( #[no_mangle] pub unsafe extern "C" fn wasm_func_new_with_env( - store: &wasm_store_t, - function_type: &wasm_functype_t, - callback: wasm_func_callback_with_env_t, + store: Option<&wasm_store_t>, + function_type: Option<&wasm_functype_t>, + callback: Option, env: *mut c_void, - finalizer: wasm_env_finalizer_t, + finalizer: Option, ) -> Option> { - // TODO: handle null pointers? + let store = store?; + let function_type = function_type?; + let callback = callback?; + let finalizer = finalizer?; + let func_sig = &function_type.inner().function_type; let num_rets = func_sig.results().len(); let inner_callback =