diff --git a/src/dos/cdrom.h b/src/dos/cdrom.h index ed733925..95f4729e 100644 --- a/src/dos/cdrom.h +++ b/src/dos/cdrom.h @@ -188,8 +188,8 @@ public: uint32_t start = 0; uint32_t length = 0; uint32_t skip = 0; - uint16_t number = 0; uint16_t sectorSize = 0; + uint8_t number = 0; uint8_t attr = 0; bool mode2 = false; }; diff --git a/src/dos/cdrom_image.cpp b/src/dos/cdrom_image.cpp index 37f6ac12..f8f4771b 100644 --- a/src/dos/cdrom_image.cpp +++ b/src/dos/cdrom_image.cpp @@ -884,6 +884,7 @@ bool CDROM_Interface_Image::LoadCueSheet(char *cuefile) int currPregap = 0; int totalPregap = 0; int prestart = -1; + int track_number; bool success; bool canAddTrack = false; char tmp[MAX_FILENAME_LENGTH]; // dirname can change its argument @@ -916,8 +917,9 @@ bool CDROM_Interface_Image::LoadCueSheet(char *cuefile) currPregap = 0; prestart = -1; - line >> track.number; - string type; + line >> track_number; // (cin) read into a true int first + track.number = track_number; // then assign to the uint8_t + string type; GetCueKeyword(type, line); if (type == "AUDIO") {