summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/jvc_dsk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/jvc_dsk.cpp')
-rw-r--r--src/lib/formats/jvc_dsk.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/formats/jvc_dsk.cpp b/src/lib/formats/jvc_dsk.cpp
index ce0083a9deb..fcc5d97a5b5 100644
--- a/src/lib/formats/jvc_dsk.cpp
+++ b/src/lib/formats/jvc_dsk.cpp
@@ -141,11 +141,14 @@ bool jvc_format::parse_header(util::random_read &io, int &header_size, int &trac
uint8_t header[5];
// if we know that this is a header of a bad size, we can fail immediately; otherwise read the header
- size_t actual;
- if (header_size >= sizeof(header))
+ if (header_size >= sizeof(header)) // TODO: wouldn't this make more sense with > than >=? The first case in the following switch statement is unreachable as-is.
return false;
if (header_size > 0)
- io.read_at(0, header, header_size, actual);
+ {
+ auto const [err, actual] = read_at(io, 0, header, header_size);
+ if (err || (actual != header_size))
+ return false;
+ }
// default values
heads = 1;
@@ -241,8 +244,7 @@ bool jvc_format::load(util::random_read &io, uint32_t form_factor, const std::ve
sectors[interleave[i]].bad_crc = false;
sectors[interleave[i]].data = &sector_data[sector_offset];
- size_t actual;
- io.read_at(file_offset, sectors[interleave[i]].data, sector_size, actual);
+ /*auto const [err, actual] =*/ read_at(io, file_offset, sectors[interleave[i]].data, sector_size); // FIXME: check for errors and premature EOF
sector_offset += sector_size;
file_offset += sector_size;
@@ -268,8 +270,7 @@ bool jvc_format::save(util::random_read_write &io, const std::vector<uint32_t> &
uint8_t header[2];
header[0] = 18;
header[1] = 2;
- size_t actual;
- io.write_at(file_offset, header, sizeof(header), actual);
+ /*auto const [err, actual] =*/ write_at(io, file_offset, header, sizeof(header)); // FIXME: check for errors
file_offset += sizeof(header);
}
@@ -289,8 +290,7 @@ bool jvc_format::save(util::random_read_write &io, const std::vector<uint32_t> &
return false;
}
- size_t actual;
- io.write_at(file_offset, sectors[1 + i].data(), 256, actual);
+ /*auto const [err, actual] =*/ write_at(io, file_offset, sectors[1 + i].data(), 256); // FIXME: check for errors
file_offset += 256;
}
}