diff options
author | luigi1111 <luigi1111w@gmail.com> | 2021-06-10 12:00:54 -0500 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2021-06-10 12:00:54 -0500 |
commit | 7499837a6fe8d3533e1360dce8f3ba230ff76042 (patch) | |
tree | cd3e089e2e09de33044220ff72461a761b028e3f /src/cryptonote_basic/tx_extra.h | |
parent | Merge pull request #7729 (diff) | |
parent | Improve cryptonote (block and tx) binary read performance (diff) | |
download | monero-7499837a6fe8d3533e1360dce8f3ba230ff76042.tar.xz |
Merge pull request #7661
08e4497 Improve cryptonote (block and tx) binary read performance (Lee Clagett)
Diffstat (limited to 'src/cryptonote_basic/tx_extra.h')
-rw-r--r-- | src/cryptonote_basic/tx_extra.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/cryptonote_basic/tx_extra.h b/src/cryptonote_basic/tx_extra.h index 50f2e1438..76efc22d3 100644 --- a/src/cryptonote_basic/tx_extra.h +++ b/src/cryptonote_basic/tx_extra.h @@ -57,11 +57,7 @@ namespace cryptonote // size - 1 - because of variant tag for (size = 1; size <= TX_EXTRA_PADDING_MAX_COUNT; ++size) { - std::ios_base::iostate state = ar.stream().rdstate(); - bool eof = EOF == ar.stream().peek(); - ar.stream().clear(state); - - if (eof) + if (ar.eof()) break; uint8_t zero; @@ -139,8 +135,7 @@ namespace cryptonote if(!::do_serialize(ar, field)) return false; - std::istringstream iss(field); - binary_archive<false> iar(iss); + binary_archive<false> iar{epee::strspan<std::uint8_t>(field)}; serialize_helper helper(*this); return ::serialization::serialize(iar, helper); } |