Helper to free a wrapper struct that contains a Table clone.
(ptr: *mut T, get_inner: impl FnOnce(&T) -> *mut c_void)
| 34 | |
| 35 | // Helper to free a wrapper struct that contains a Table clone. |
| 36 | unsafe fn free_table_wrapper<T>(ptr: *mut T, get_inner: impl FnOnce(&T) -> *mut c_void) { |
| 37 | if !ptr.is_null() { |
| 38 | let wrapper = Box::from_raw(ptr); |
| 39 | let inner = get_inner(&wrapper); |
| 40 | if !inner.is_null() { |
| 41 | drop(Box::from_raw(inner as *mut Table)); |
| 42 | } |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | // Helper to box a ReadBuilderState and return a raw pointer. |
| 47 | unsafe fn box_read_builder_state(state: ReadBuilderState) -> *mut paimon_read_builder { |
no test coverage detected