Adam S
01/07/2023, 2:21 PMpublic external expect fun rocksdb_open(
options: CValuesRef<rocksdb_options_t>?,
name: String?,
errptr: CValuesRef<CPointerVar<ByteVar>>?
): CPointer<rocksdb_t>?
I need to pass in errptr
, but how can I create a value with type CValuesRef<CPointerVar<ByteVar>>
?kevin.cianfarini
01/07/2023, 2:40 PMstr.cstr.ptr
.
You need to free the memory this allocates afterwards.kevin.cianfarini
01/07/2023, 2:46 PMAdam S
01/07/2023, 2:46 PMextern ROCKSDB_LIBRARY_API rocksdb_t* rocksdb_open(
const rocksdb_options_t* options, const char* name, char** errptr);
kevin.cianfarini
01/07/2023, 2:47 PMkevin.cianfarini
01/07/2023, 2:47 PMallocArrayOfPointersTo
kevin.cianfarini
01/07/2023, 2:48 PMAdam S
01/07/2023, 2:48 PMAdam S
01/07/2023, 2:48 PMkevin.cianfarini
01/07/2023, 2:51 PMkevin.cianfarini
01/07/2023, 2:51 PMallocArray
Adam S
01/07/2023, 2:52 PM// open DB
char *err = NULL;
db = rocksdb_open(options, DBPath, &err);
assert(!err);
vbsteven
01/07/2023, 3:00 PMval err = allocPointerTo<ByteVar>()
Adam S
01/07/2023, 3:15 PMallocPointerTo<ByteVar>()
compiles
memScoped {
val err = allocPointerTo<ByteVar>()
val db = rocksdb_open(
options,
"rdb_test_01",
err.ptr,
)
var result = err.pointed?.value
require(result == null) {
"error opening db: $result"
}