From e6988b8abcc660334a1ec5eb7b4416fc98d49cca Mon Sep 17 00:00:00 2001 From: William Katz Date: Thu, 3 Jun 2021 18:18:13 -0700 Subject: [PATCH] fixed logic --- include/user.hpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/include/user.hpp b/include/user.hpp index d685a91..205aeb1 100644 --- a/include/user.hpp +++ b/include/user.hpp @@ -36,16 +36,17 @@ struct User { if (log_j.size()) { - auto size = ((log_j.size() / pre_log_size) + 1) * pre_log_size; // Ensures that we have a log size aligned on a multiple of `pre_log_size` - log.data.reserve(std::min(size, max_log_size)); // Ensures that the log size is under `max_log_size` - for (uint32_t i = 0; i < log.size(); i++) // Matches the logs + unsigned size = ((log_j.size() / pre_log_size) + 1) * pre_log_size; // Ensures that we have a log size aligned on a multiple of `pre_log_size` + log.data.reserve(size); // Ensures that the log size is under `max_log_size` + size = std::min(log_j.size(), max_log_size); + log.data.resize(size); + for (uint32_t i = 0; i < size; ++i) { log.data[i] = std::move(Transaction( log_j[i]["from"].asCString(), log_j[i]["to"].asCString(), log_j[i]["amount"].asUInt(), - log_j[i]["time"].asUInt64() - )); + log_j[i]["time"].asUInt64())); } } }