From: Joel Rosdahl Date: Thu, 8 Sep 2022 11:54:02 +0000 (+0200) Subject: refactor: Use util::throw_on_error X-Git-Tag: v4.7~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f87b621b354b8b6ae3bd8642d0849c2cec298a53;p=thirdparty%2Fccache.git refactor: Use util::throw_on_error --- diff --git a/src/core/Result.cpp b/src/core/Result.cpp index d50e2ef30..935a2f30c 100644 --- a/src/core/Result.cpp +++ b/src/core/Result.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -299,11 +300,9 @@ Serializer::serialize(std::vector& output) std::get(entry.data)); } else if (is_file_entry) { const auto& path = std::get(entry.data); - const auto data = util::read_file(path); - if (!data) { - throw Error(FMT("Failed to read {}: {}", path, data.error())); - } - writer.write_bytes(*data); + const auto data = util::value_or_throw( + util::read_file(path), FMT("Failed to read {}: ", path)); + writer.write_bytes(data); } else { writer.write_bytes(std::get>(entry.data)); } diff --git a/src/core/ResultExtractor.cpp b/src/core/ResultExtractor.cpp index 4afcdc131..8649ede70 100644 --- a/src/core/ResultExtractor.cpp +++ b/src/core/ResultExtractor.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -58,10 +59,8 @@ ResultExtractor::on_embedded_file(uint8_t /*file_number*/, } const auto dest_path = FMT("{}/ccache-result{}", m_output_directory, suffix); - const auto result = util::write_file(dest_path, data); - if (!result) { - throw Error(FMT("Failed to write to {}: {}", dest_path, result.error())); - } + util::throw_on_error(util::write_file(dest_path, data), + FMT("Failed to write to {}: ", dest_path)); } void @@ -81,11 +80,10 @@ ResultExtractor::on_raw_file(uint8_t file_number, file_size)); } - const auto data = util::read_file(raw_file_path, file_size); - if (!data) { - throw Error(FMT("Failed to read {}: {}", raw_file_path, data.error())); - } - on_embedded_file(file_number, file_type, *data); + const auto data = util::value_or_throw( + util::read_file(raw_file_path, file_size), + FMT("Failed to read {}: ", raw_file_path)); + on_embedded_file(file_number, file_type, data); } } // namespace core diff --git a/src/core/ResultRetriever.cpp b/src/core/ResultRetriever.cpp index 6bea0adb8..b1c34c922 100644 --- a/src/core/ResultRetriever.cpp +++ b/src/core/ResultRetriever.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -74,11 +75,9 @@ ResultRetriever::on_embedded_file(uint8_t file_number, if (file_type == FileType::dependency) { write_dependency_file(dest_path, data); } else { - const auto result = util::write_file(dest_path, data); - if (!result) { - throw WriteError( - FMT("Failed to write to {}: {}", dest_path, result.error())); - } + util::throw_on_error( + util::write_file(dest_path, data), + FMT("Failed to write to {}: ", dest_path)); } } } @@ -192,10 +191,8 @@ ResultRetriever::write_dependency_file(const std::string& path, } auto write_data = [&](auto data, auto size) { - const auto result = util::write_fd(*fd, data, size); - if (!result) { - throw WriteError(FMT("Failed to write to {}: {}", path, result.error())); - } + util::throw_on_error(util::write_fd(*fd, data, size), + FMT("Failed to write to {}: ", path)); }; std::string_view str_data = util::to_string_view(data);