From 66e6af89ce413ed7bb9f427d64250c6cc4bc3120 Mon Sep 17 00:00:00 2001 From: kenshi84 Date: Fri, 16 Dec 2016 18:10:03 +0900 Subject: added experimental boost::archive::portable_binary_{i|o}archive --- src/simplewallet/simplewallet.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/simplewallet/simplewallet.cpp') diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index b46447975..222998dfd 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -3882,7 +3882,7 @@ bool simple_wallet::export_outputs(const std::vector &args) std::vector outs = m_wallet->export_outputs(); std::stringstream oss; - boost::archive::binary_oarchive ar(oss); + boost::archive::portable_binary_oarchive ar(oss); ar << outs; std::string magic(OUTPUT_EXPORT_FILE_MAGIC, strlen(OUTPUT_EXPORT_FILE_MAGIC)); @@ -3962,7 +3962,7 @@ bool simple_wallet::import_outputs(const std::vector &args) std::string body(data, headerlen); std::stringstream iss; iss << body; - boost::archive::binary_iarchive ar(iss); + boost::archive::portable_binary_iarchive ar(iss); std::vector outputs; ar >> outputs; -- cgit v1.2.3 From 07b9138cad7d5e8aa046f2e555563760c11a9e37 Mon Sep 17 00:00:00 2001 From: kenshi84 Date: Tue, 20 Dec 2016 13:26:39 +0900 Subject: support importing unportable outputs --- src/simplewallet/simplewallet.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/simplewallet/simplewallet.cpp') diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 222998dfd..251f9c231 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -3962,10 +3962,19 @@ bool simple_wallet::import_outputs(const std::vector &args) std::string body(data, headerlen); std::stringstream iss; iss << body; - boost::archive::portable_binary_iarchive ar(iss); std::vector outputs; - ar >> outputs; - + try + { + boost::archive::portable_binary_iarchive ar(iss); + ar >> outputs; + } + catch (...) + { + iss.str(""); + iss << body; + boost::archive::binary_iarchive ar(iss); + ar >> outputs; + } size_t n_outputs = m_wallet->import_outputs(outputs); success_msg_writer() << boost::lexical_cast(n_outputs) << " outputs imported"; } -- cgit v1.2.3