diff options
author | MetalliC <0vetal0@gmail.com> | 2016-07-24 17:01:18 +0300 |
---|---|---|
committer | MetalliC <0vetal0@gmail.com> | 2016-07-24 17:01:18 +0300 |
commit | 2cf35d78d8c958468c89825f0acfad413bf4d275 (patch) | |
tree | 12595fa93e9a8bd0de71ec9336472901a9c5644e | |
parent | 0c85178c1e348758b37cf044b53c69841746ffe9 (diff) |
chdman: fix remaining createcd 64bit issues
-rw-r--r-- | src/tools/chdman.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tools/chdman.cpp b/src/tools/chdman.cpp index 580334812fa..0c557b03e4a 100644 --- a/src/tools/chdman.cpp +++ b/src/tools/chdman.cpp @@ -361,7 +361,7 @@ public: for (int tracknum = 0; tracknum < m_toc.numtrks; tracknum++) { const cdrom_track_info &trackinfo = m_toc.tracks[tracknum]; - UINT64 endoffs = startoffs + (trackinfo.frames + trackinfo.extraframes) * CD_FRAME_SIZE; + UINT64 endoffs = startoffs + (UINT64)(trackinfo.frames + trackinfo.extraframes) * CD_FRAME_SIZE; if (offset >= startoffs && offset < endoffs) { // if we don't already have this file open, open it now @@ -375,10 +375,10 @@ public: } // iterate over frames - UINT32 bytesperframe = trackinfo.datasize + trackinfo.subsize; + UINT64 bytesperframe = trackinfo.datasize + trackinfo.subsize; UINT64 src_track_start = m_info.track[tracknum].offset; - UINT64 src_track_end = src_track_start + bytesperframe * trackinfo.frames; - UINT64 pad_track_start = src_track_end - (m_toc.tracks[tracknum].padframes * bytesperframe); + UINT64 src_track_end = src_track_start + bytesperframe * (UINT64)trackinfo.frames; + UINT64 pad_track_start = src_track_end - ((UINT64)m_toc.tracks[tracknum].padframes * bytesperframe); while (length_remaining != 0 && offset < endoffs) { // determine start of current frame |