From 50d2361394e8fcd60827e919ec2f87112001d952 Mon Sep 17 00:00:00 2001 From: neodiX42 Date: Fri, 14 Jul 2023 15:27:59 +0200 Subject: [PATCH 1/2] On MacOS, writing more than 0x7fffffff bytes will fail with errno 22 (#737) --- validator/db/files-async.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/validator/db/files-async.hpp b/validator/db/files-async.hpp index 2da534bf..bcb7fa8b 100644 --- a/validator/db/files-async.hpp +++ b/validator/db/files-async.hpp @@ -82,10 +82,9 @@ class WriteFile : public td::actor::Actor { : tmp_dir_(tmp_dir), new_name_(new_name), promise_(std::move(promise)) { write_data_ = [data_ptr = std::make_shared(std::move(data))] (td::FileFd& fd) { auto data = std::move(*data_ptr); - td::uint64 offset = 0; while (data.size() > 0) { - TRY_RESULT(s, fd.pwrite(data.as_slice(), offset)); - offset += s; + auto piece_size = std::min(data.size(), 1 << 30); + TRY_RESULT(s, fd.write(data.as_slice().substr(0, piece_size))); data.confirm_read(s); } return td::Status::OK(); From 6074702d059fee2b9456e47c294693447ca222ef Mon Sep 17 00:00:00 2001 From: EmelyanenkoK Date: Mon, 17 Jul 2023 17:20:01 +0300 Subject: [PATCH 2/2] Fix extracting version from config in tonlib (#748) Co-authored-by: SpyCheese --- tonlib/tonlib/LastConfig.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tonlib/tonlib/LastConfig.cpp b/tonlib/tonlib/LastConfig.cpp index bcc3c081..e972d84e 100644 --- a/tonlib/tonlib/LastConfig.cpp +++ b/tonlib/tonlib/LastConfig.cpp @@ -93,7 +93,8 @@ td::Status LastConfig::process_config_proof(ton::ton_api::object_ptrstate_proof_.as_slice(), raw_config->config_proof_.as_slice())); - TRY_RESULT(config, block::ConfigInfo::extract_config(std::move(state), block::ConfigInfo::needPrevBlocks)); + TRY_RESULT(config, block::ConfigInfo::extract_config( + std::move(state), block::ConfigInfo::needPrevBlocks | block::ConfigInfo::needCapabilities)); for (auto i : params_) { VLOG(last_config) << "ConfigParam(" << i << ") = ";