From cf31de5d41ebe5e01b1bade5b7e35df036882afc Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Tue, 9 May 2023 14:42:07 +0300 Subject: [PATCH] Fix MVCCDatabaseInsert() type signature Values are opaque blobs so use "const void *" for C callers. --- core/mvcc/bindings/c/include/mvcc.h | 2 +- core/mvcc/bindings/c/src/lib.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/mvcc/bindings/c/include/mvcc.h b/core/mvcc/bindings/c/include/mvcc.h index eb1ed5352..aea8beb23 100644 --- a/core/mvcc/bindings/c/include/mvcc.h +++ b/core/mvcc/bindings/c/include/mvcc.h @@ -20,7 +20,7 @@ MVCCDatabaseRef MVCCDatabaseOpen(const char *path); void MVCCDatabaseClose(MVCCDatabaseRef db); -MVCCError MVCCDatabaseInsert(MVCCDatabaseRef db, uint64_t id, const uint8_t *value_ptr, uintptr_t value_len); +MVCCError MVCCDatabaseInsert(MVCCDatabaseRef db, uint64_t id, const void *value_ptr, uintptr_t value_len); #ifdef __cplusplus } // extern "C" diff --git a/core/mvcc/bindings/c/src/lib.rs b/core/mvcc/bindings/c/src/lib.rs index 6eeffdeca..2f2529cb2 100644 --- a/core/mvcc/bindings/c/src/lib.rs +++ b/core/mvcc/bindings/c/src/lib.rs @@ -62,11 +62,11 @@ pub unsafe extern "C" fn MVCCDatabaseClose(db: MVCCDatabaseRef) { pub unsafe extern "C" fn MVCCDatabaseInsert( db: MVCCDatabaseRef, id: u64, - value_ptr: *const u8, + value_ptr: *const std::ffi::c_void, value_len: usize, ) -> MVCCError { let db = db.get_ref(); - let value = std::slice::from_raw_parts(value_ptr, value_len); + let value = std::slice::from_raw_parts(value_ptr as *const u8, value_len); let data = match std::str::from_utf8(value) { Ok(value) => value.to_string(), Err(_) => {