diff --git a/libretro-common/cdrom/cdrom.c b/libretro-common/cdrom/cdrom.c index 3ba2c99691..18264a9d10 100644 --- a/libretro-common/cdrom/cdrom.c +++ b/libretro-common/cdrom/cdrom.c @@ -140,8 +140,6 @@ static int cdrom_send_command_linux(int fd, CDROM_CMD_Direction dir, void *buf, sg_io_hdr_t sgio = {0}; int rv; - sgio.interface_id = 'S'; - switch (dir) { case DIRECTION_IN: @@ -156,15 +154,11 @@ static int cdrom_send_command_linux(int fd, CDROM_CMD_Direction dir, void *buf, break; } + sgio.interface_id = 'S'; sgio.cmd_len = cmd_len; sgio.cmdp = cmd; - - if (xfer_buf) - sgio.dxferp = buf; - - if (len) - sgio.dxfer_len = len; - + sgio.dxferp = buf; + sgio.dxfer_len = len; sgio.sbp = sense; sgio.mx_sb_len = sense_len; sgio.timeout = 30000; diff --git a/libretro-common/vfs/vfs_implementation_cdrom.c b/libretro-common/vfs/vfs_implementation_cdrom.c index bba4a85b17..680d41dc33 100644 --- a/libretro-common/vfs/vfs_implementation_cdrom.c +++ b/libretro-common/vfs/vfs_implementation_cdrom.c @@ -173,7 +173,7 @@ void retro_vfs_file_open_cdrom( stream->cdrom_cue_buf = NULL; } - cdrom_write_cue(fileno(stream->fp), &stream->cdrom_cue_buf, &stream->cdrom_cue_len, stream->cdrom_drive, &vfs_cdrom_toc.num_tracks, &vfs_cdrom_toc); + cdrom_write_cue(stream, &stream->cdrom_cue_buf, &stream->cdrom_cue_len, stream->cdrom_drive, &vfs_cdrom_toc.num_tracks, &vfs_cdrom_toc); if (vfs_cdrom_toc.num_tracks > 1) {