summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author MetalliC <0vetal0@gmail.com>2016-07-24 17:01:18 +0300
committer MetalliC <0vetal0@gmail.com>2016-07-24 17:01:18 +0300
commit2cf35d78d8c958468c89825f0acfad413bf4d275 (patch)
tree12595fa93e9a8bd0de71ec9336472901a9c5644e
parent0c85178c1e348758b37cf044b53c69841746ffe9 (diff)
chdman: fix remaining createcd 64bit issues
-rw-r--r--src/tools/chdman.cpp8
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