summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcyan <cyjan@mrcyjanek.net>2024-09-04 14:57:12 +0200
committerGitHub <noreply@github.com>2024-09-04 14:57:12 +0200
commit1e22390f512f97c89b6b4c75da4958c16316da22 (patch)
tree30907abba8ebddab3a01e44b2486eff701a00128
parent811ade01161acdf8dd9d8d5354aac989007466ce (diff)
fix find wallets (#46)
* Update WalletManager_findWallets * prevent crash when there are no wallets found * return List<String> instead of colon separated String
-rw-r--r--impls/monero.dart/lib/monero.dart11
-rw-r--r--impls/monero.dart/lib/wownero.dart12
2 files changed, 14 insertions, 9 deletions
diff --git a/impls/monero.dart/lib/monero.dart b/impls/monero.dart/lib/monero.dart
index b30bd3f..997f1b6 100644
--- a/impls/monero.dart/lib/monero.dart
+++ b/impls/monero.dart/lib/monero.dart
@@ -3585,7 +3585,8 @@ bool WalletManager_verifyWalletPassword(
return s;
}
-String WalletManager_findWallets(WalletManager wm_ptr, {required String path}) {
+List<String> WalletManager_findWallets(WalletManager wm_ptr,
+ {required String path}) {
debugStart?.call('MONERO_WalletManager_findWallets');
lib ??= MoneroC(DynamicLibrary.open(libPath));
try {
@@ -3595,13 +3596,15 @@ String WalletManager_findWallets(WalletManager wm_ptr, {required String path}) {
.cast<Utf8>();
final str = strPtr.toDartString();
calloc.free(path_);
- MONERO_free(strPtr.cast());
+ if (str.isNotEmpty) {
+ MONERO_free(strPtr.cast());
+ }
debugEnd?.call('MONERO_WalletManager_findWallets');
- return str;
+ return str.split(";");
} catch (e) {
errorHandler?.call('MONERO_WalletManager_findWallets', e);
debugEnd?.call('MONERO_WalletManager_findWallets');
- return "";
+ return [];
}
}
diff --git a/impls/monero.dart/lib/wownero.dart b/impls/monero.dart/lib/wownero.dart
index 5a0a288..e87488c 100644
--- a/impls/monero.dart/lib/wownero.dart
+++ b/impls/monero.dart/lib/wownero.dart
@@ -3220,7 +3220,8 @@ bool WalletManager_verifyWalletPassword(
return s;
}
-String WalletManager_findWallets(WalletManager wm_ptr, {required String path}) {
+List<String> WalletManager_findWallets(WalletManager wm_ptr,
+ {required String path}) {
debugStart?.call('WOWNERO_WalletManager_findWallets');
lib ??= WowneroC(DynamicLibrary.open(libPath));
try {
@@ -3230,13 +3231,15 @@ String WalletManager_findWallets(WalletManager wm_ptr, {required String path}) {
.cast<Utf8>();
final str = strPtr.toDartString();
calloc.free(path_);
- WOWNERO_free(strPtr.cast());
+ if (str.isNotEmpty) {
+ WOWNERO_free(strPtr.cast());
+ }
debugEnd?.call('WOWNERO_WalletManager_findWallets');
- return str;
+ return str.split(";");
} catch (e) {
errorHandler?.call('WOWNERO_WalletManager_findWallets', e);
debugEnd?.call('WOWNERO_WalletManager_findWallets');
- return "";
+ return [];
}
}
@@ -3606,7 +3609,6 @@ int WOWNERO_deprecated_14WordSeedHeight({
return s;
}
-
String WOWNERO_checksum_wallet2_api_c_h() {
debugStart?.call('WOWNERO_checksum_wallet2_api_c_h');
lib ??= WowneroC(DynamicLibrary.open(libPath));