diff options
author | twinaphex | 2013-03-18 01:16:31 +0100 |
---|---|---|
committer | twinaphex | 2013-03-18 01:16:31 +0100 |
commit | 22dade5ca95efa7fb3530023dbab77f8516bfed7 (patch) | |
tree | 40a660c1e7a806abe03b2c9f2e6389073894877b /libpcsxcore/cdriso.c | |
parent | 24f4865eff11beb6348d9e0e310d593477359afe (diff) | |
parent | 101e053c72e9299bfbd1cbf6a8de9ba6cff11e4c (diff) | |
download | pcsx_rearmed-22dade5ca95efa7fb3530023dbab77f8516bfed7.tar.gz pcsx_rearmed-22dade5ca95efa7fb3530023dbab77f8516bfed7.tar.bz2 pcsx_rearmed-22dade5ca95efa7fb3530023dbab77f8516bfed7.zip |
Merge git://github.com/notaz/pcsx_rearmed
Diffstat (limited to 'libpcsxcore/cdriso.c')
-rw-r--r-- | libpcsxcore/cdriso.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c index 21203da..dde21bc 100644 --- a/libpcsxcore/cdriso.c +++ b/libpcsxcore/cdriso.c @@ -1316,8 +1316,12 @@ static long CALLBACK ISOclose(void) { } } numtracks = 0; + ti[1].type = 0; UnloadSBI(); + memset(cdbuffer, 0, sizeof(cdbuffer)); + CDR_getBuffer = ISOgetBuffer; + return 0; } @@ -1400,6 +1404,7 @@ static void DecodeRawSubData(void) { // uses bcd format static long CALLBACK ISOreadTrack(unsigned char *time) { int sector = MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])); + long ret; if (cdHandle == NULL) { return -1; @@ -1414,7 +1419,9 @@ static long CALLBACK ISOreadTrack(unsigned char *time) { } } - cdimg_read_func(cdHandle, 0, cdbuffer, sector); + ret = cdimg_read_func(cdHandle, 0, cdbuffer, sector); + if (ret < 0) + return -1; if (subHandle != NULL) { fseek(subHandle, sector * SUB_FRAMESIZE, SEEK_SET); |