From 87c823d4970d2d24b63881dbdc5d81dda9a562a8 Mon Sep 17 00:00:00 2001 From: Steve Myers Date: Tue, 15 Jun 2021 15:21:14 -0700 Subject: [PATCH] Free rust allocated string from Kotlin in local and android emulator tests --- .../androidTest/java/org/bitcoindevkit/bdk/AndroidLibTest.kt | 4 +++- bdk-kotlin/jar/src/main/java/org/bitcoindevkit/bdk/Lib.kt | 4 ++-- bdk-kotlin/jar/src/test/java/org/bitcoindevkit/bdk/LibTest.kt | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bdk-kotlin/aar/src/androidTest/java/org/bitcoindevkit/bdk/AndroidLibTest.kt b/bdk-kotlin/aar/src/androidTest/java/org/bitcoindevkit/bdk/AndroidLibTest.kt index 0dbaa2a..9a3e7ba 100644 --- a/bdk-kotlin/aar/src/androidTest/java/org/bitcoindevkit/bdk/AndroidLibTest.kt +++ b/bdk-kotlin/aar/src/androidTest/java/org/bitcoindevkit/bdk/AndroidLibTest.kt @@ -54,7 +54,9 @@ class AndroidLibTest { @Test fun new_address() { - val address = bdkFfi.new_address(wallet) + val pointer = bdkFfi.new_address(wallet) + val address = pointer.getString(0) + bdkFfi.free_string(pointer) //println("address created from kotlin: $address") assertEquals(address, "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e") Log.d("new_address", "new address: $address") diff --git a/bdk-kotlin/jar/src/main/java/org/bitcoindevkit/bdk/Lib.kt b/bdk-kotlin/jar/src/main/java/org/bitcoindevkit/bdk/Lib.kt index f4ef503..3a7fe45 100644 --- a/bdk-kotlin/jar/src/main/java/org/bitcoindevkit/bdk/Lib.kt +++ b/bdk-kotlin/jar/src/main/java/org/bitcoindevkit/bdk/Lib.kt @@ -12,7 +12,7 @@ interface Lib : Library { // void free_string ( // char * string); - fun free_string(string: String) + fun free_string(string: Pointer) // WalletPtr_t * new_wallet ( // char const * name, @@ -27,7 +27,7 @@ interface Lib : Library { // char * new_address ( // WalletPtr_t * const * wallet); - fun new_address(wallet: WalletPtr_t): String + fun new_address(wallet: WalletPtr_t): Pointer // void free_wallet ( // WalletPtr_t * wallet); diff --git a/bdk-kotlin/jar/src/test/java/org/bitcoindevkit/bdk/LibTest.kt b/bdk-kotlin/jar/src/test/java/org/bitcoindevkit/bdk/LibTest.kt index 799163e..0947557 100644 --- a/bdk-kotlin/jar/src/test/java/org/bitcoindevkit/bdk/LibTest.kt +++ b/bdk-kotlin/jar/src/test/java/org/bitcoindevkit/bdk/LibTest.kt @@ -42,7 +42,9 @@ class LibTest { @Test fun new_newaddress_wallet() { - val address = bdkFfi.new_address(wallet) + val pointer = bdkFfi.new_address(wallet) + val address = pointer.getString(0) + bdkFfi.free_string(pointer) //println("address created from kotlin: $address") assertEquals(address, "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e") }