diff options
Diffstat (limited to 'src/tools/imgtool/stream.cpp')
-rw-r--r-- | src/tools/imgtool/stream.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/tools/imgtool/stream.cpp b/src/tools/imgtool/stream.cpp index 05f105afbc2..f68f8b4eac6 100644 --- a/src/tools/imgtool/stream.cpp +++ b/src/tools/imgtool/stream.cpp @@ -21,6 +21,7 @@ #include <cstdarg> #include <cstdio> #include <cstring> +#include <tuple> @@ -70,7 +71,7 @@ public: return std::error_condition(); } - virtual std::error_condition read(void *buffer, std::size_t length, std::size_t &actual) noexcept override + virtual std::error_condition read_some(void *buffer, std::size_t length, std::size_t &actual) noexcept override { actual = m_stream->read(buffer, length); if (actual < length) @@ -78,7 +79,7 @@ public: return std::error_condition(); } - virtual std::error_condition read_at(std::uint64_t offset, void *buffer, std::size_t length, std::size_t &actual) noexcept override + virtual std::error_condition read_some_at(std::uint64_t offset, void *buffer, std::size_t length, std::size_t &actual) noexcept override { std::uint64_t const pos = m_stream->tell(); m_stream->seek(offset, SEEK_SET); @@ -111,7 +112,7 @@ public: return std::error_condition(); } - virtual std::error_condition write(void const *buffer, std::size_t length, std::size_t &actual) noexcept override + virtual std::error_condition write_some(void const *buffer, std::size_t length, std::size_t &actual) noexcept override { std::uint64_t const pos = m_stream->tell(); std::uint64_t size = m_stream->size(); @@ -124,7 +125,7 @@ public: return (actual == length) ? std::error_condition() : std::errc::io_error; } - virtual std::error_condition write_at(std::uint64_t offset, void const *buffer, std::size_t length, std::size_t &actual) noexcept override + virtual std::error_condition write_some_at(std::uint64_t offset, void const *buffer, std::size_t length, std::size_t &actual) noexcept override { std::uint64_t const pos = m_stream->tell(); std::uint64_t size = m_stream->size(); @@ -391,13 +392,14 @@ util::core_file *stream::core_file() uint32_t stream::read(void *buf, uint32_t sz) { + std::error_condition err; size_t result = 0; switch(imgtype) { case IMG_FILE: if (!file->seek(position, SEEK_SET)) - file->read(buf, sz, result); // FIXME: check error return + std::tie(err, result) = util::read(*file, buf, sz); // FIXME: check error return break; case IMG_MEM: @@ -424,6 +426,7 @@ uint32_t stream::read(void *buf, uint32_t sz) uint32_t stream::write(const void *buf, uint32_t sz) { + std::error_condition err; size_t result = 0; switch(imgtype) @@ -455,7 +458,7 @@ uint32_t stream::write(const void *buf, uint32_t sz) case IMG_FILE: if (!file->seek(position, SEEK_SET)) - file->write(buf, sz, result); // FIXME: check error return + std::tie(err, result) = util::write(*file, buf, sz); // FIXME: check error return break; default: |