cdriso: handle no disk state better

git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83609 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
SND\notaz_cp 2013-03-14 23:58:35 +00:00
parent 4b53e6956e
commit 91e7cfa473

View File

@ -1158,6 +1158,10 @@ static long CALLBACK ISOclose(void) {
}
}
numtracks = 0;
ti[1].type = 0;
memset(cdbuffer, 0, sizeof(cdbuffer));
CDR_getBuffer = ISOgetBuffer;
return 0;
}
@ -1241,6 +1245,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;
@ -1255,7 +1260,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);