summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/imgtool/stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/imgtool/stream.cpp')
-rw-r--r--src/tools/imgtool/stream.cpp15
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: