diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -1690,28 +1690,11 @@ nCount = ret.size() - nFrom; } - std::vector arrTmp = ret.getValues(); - - std::vector::iterator first = arrTmp.begin(); - std::advance(first, nFrom); - std::vector::iterator last = arrTmp.begin(); - std::advance(last, nFrom + nCount); - - if (last != arrTmp.end()) { - arrTmp.erase(last, arrTmp.end()); - } - if (first != arrTmp.begin()) { - arrTmp.erase(arrTmp.begin(), first); - } - + const std::vector &txs = ret.getValues(); + UniValue result{UniValue::VARR}; // Return oldest to newest - std::reverse(arrTmp.begin(), arrTmp.end()); - - ret.clear(); - ret.setArray(); - ret.push_backV(arrTmp); - - return ret; + result.push_backV({txs.rend() - nFrom - nCount, txs.rend() - nFrom}); + return result; } static UniValue listsinceblock(const Config &config,