From c1dc858c287af181a313f0994f7411cdf69fecc4 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Tue, 11 Nov 2014 12:05:32 -0800 Subject: [PATCH] ensure err_msg. fix callback errors. --- src/bitcoindjs.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/bitcoindjs.cc b/src/bitcoindjs.cc index d839a267..d19b7ad2 100644 --- a/src/bitcoindjs.cc +++ b/src/bitcoindjs.cc @@ -3249,6 +3249,8 @@ NAN_METHOD(WalletSendTo) { async_wallet_sendto_data *data = new async_wallet_sendto_data(); + data->err_msg = std::string(""); + String::Utf8Value addr_(options->Get(NanNew("address"))->ToString()); std::string addr = std::string(*addr_); data->address = addr; @@ -3368,6 +3370,8 @@ NAN_METHOD(WalletSendFrom) { async_wallet_sendfrom_data *data = new async_wallet_sendfrom_data(); + data->err_msg = std::string(""); + String::Utf8Value addr_(options->Get(NanNew("address"))->ToString()); std::string addr = std::string(*addr_); data->address = addr; @@ -4849,6 +4853,8 @@ NAN_METHOD(WalletDumpWallet) { async_dump_wallet_data *data = new async_dump_wallet_data(); + data->err_msg = std::string(""); + Local options = Local::Cast(args[0]); Local callback = Local::Cast(args[1]); @@ -4857,7 +4863,7 @@ NAN_METHOD(WalletDumpWallet) { // Call to: EnsureWalletIsUnlocked() if (pwalletMain->IsLocked()) { - return NanThrowError("Please enter the wallet passphrase with walletpassphrase first."); + data->err_msg = std::string("Please enter the wallet passphrase with walletpassphrase first."); } data->path = path; @@ -4879,6 +4885,10 @@ static void async_dump_wallet(uv_work_t *req) { async_dump_wallet_data* data = static_cast(req->data); + if (data->err_msg != "") { + return; + } + std::string path = data->path; ofstream file; @@ -4990,6 +5000,8 @@ NAN_METHOD(WalletImportWallet) { async_import_wallet_data *data = new async_import_wallet_data(); + data->err_msg = std::string(""); + Local options = Local::Cast(args[0]); Local callback = Local::Cast(args[1]); @@ -4998,7 +5010,7 @@ NAN_METHOD(WalletImportWallet) { // Call to: EnsureWalletIsUnlocked() if (pwalletMain->IsLocked()) { - return NanThrowError("Please enter the wallet passphrase with walletpassphrase first."); + data->err_msg = std::string("Please enter the wallet passphrase with walletpassphrase first."); } data->path = path;