summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/jfd_dsk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/jfd_dsk.cpp')
-rw-r--r--src/lib/formats/jfd_dsk.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/formats/jfd_dsk.cpp b/src/lib/formats/jfd_dsk.cpp
index 813c7192ca9..46e933cedf1 100644
--- a/src/lib/formats/jfd_dsk.cpp
+++ b/src/lib/formats/jfd_dsk.cpp
@@ -197,8 +197,9 @@ int jfd_format::identify(util::random_read &io, uint32_t form_factor, const std:
return 0;
std::vector<uint8_t> img(size);
- size_t actual;
- io.read_at(0, &img[0], size, actual);
+ auto const [ioerr, actual] = read_at(io, 0, &img[0], size);
+ if (ioerr || (actual != size))
+ return 0;
int err;
std::vector<uint8_t> gz_ptr(4);
@@ -222,7 +223,7 @@ int jfd_format::identify(util::random_read &io, uint32_t form_factor, const std:
err = inflateEnd(&d_stream);
if (err != Z_OK) return 0;
- img = gz_ptr;
+ img = std::move(gz_ptr);
}
if (!memcmp(&img[0], JFD_HEADER, sizeof(JFD_HEADER))) {
@@ -239,8 +240,9 @@ bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return false;
std::vector<uint8_t> img(size);
- size_t actual;
- io.read_at(0, &img[0], size, actual);
+ auto const [ioerr, actual] = read_at(io, 0, &img[0], size);
+ if (ioerr || (actual != size))
+ return false;
int err;
std::vector<uint8_t> gz_ptr;
@@ -274,7 +276,7 @@ bool jfd_format::load(util::random_read &io, uint32_t form_factor, const std::ve
return false;
}
size = inflate_size;
- img = gz_ptr;
+ img = std::move(gz_ptr);
}
osd_printf_verbose("jfd_dsk: loading %s\n", &img[48]);