diff options
Diffstat (limited to 'src/lib/util/cdrom.cpp')
-rw-r--r-- | src/lib/util/cdrom.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lib/util/cdrom.cpp b/src/lib/util/cdrom.cpp index 2771e0f5478..750ed0f8eba 100644 --- a/src/lib/util/cdrom.cpp +++ b/src/lib/util/cdrom.cpp @@ -422,7 +422,7 @@ std::error_condition cdrom_file::read_partial_sector(void *dest, uint32_t lbasec sourcefileoffset += chdsector * bytespersector + startoffs; if (EXTRA_VERBOSE) - printf("Reading sector %d from track %d at offset %lu\n", chdsector, tracknum, (unsigned long)sourcefileoffset); + printf("Reading %u bytes from sector %d from track %d at offset %lu\n", (unsigned)length, chdsector, tracknum + 1, (unsigned long)sourcefileoffset); size_t actual; result = srcfile.seek(sourcefileoffset, SEEK_SET); @@ -438,9 +438,7 @@ std::error_condition cdrom_file::read_partial_sector(void *dest, uint32_t lbasec uint8_t *buffer = (uint8_t *)dest - startoffs; for (int swapindex = startoffs; swapindex < 2352; swapindex += 2 ) { - int swaptemp = buffer[ swapindex ]; - buffer[ swapindex ] = buffer[ swapindex + 1 ]; - buffer[ swapindex + 1 ] = swaptemp; + std::swap(buffer[ swapindex ], buffer[ swapindex + 1 ]); } } return result; @@ -485,6 +483,7 @@ bool cdrom_file::read_data(uint32_t lbasector, void *buffer, uint32_t datatype, if ((datatype == tracktype) || (datatype == CD_TRACK_RAW_DONTCARE)) { + assert(cdtoc.tracks[tracknum].datasize != 0); return !read_partial_sector(buffer, lbasector, chdsector, tracknum, 0, cdtoc.tracks[tracknum].datasize, phys); } else |