[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Libcdio-devel] Proposal for fix of cd-info on MSWindows driver
From: |
Thomas Schmitt |
Subject: |
[Libcdio-devel] Proposal for fix of cd-info on MSWindows driver |
Date: |
Wed, 20 May 2020 19:08:08 +0200 |
Hi,
Pete Batard wrote in "check_cue.sh failing with cdda_4_5 image on MinGW":
> $ ./src/cd-info.exe --dvd
> ...
> cd-info.exe: cdio_track_msf for track 4 failed, I give up.
As expected from source study.
One should bring some brain from get_track_msf_linux() into the win32
variant. Like this totally untested and not even compiled proposal:
static bool
_cdio_get_track_msf(void *p_user_data, track_t i_tracks, msf_t *p_msf)
{
_img_private_t *p_env = p_user_data;
if (!p_msf) return false;
if (!p_env->gen.toc_init)
if (!read_toc_win32 (p_env)) return false;
if (i_tracks == CDIO_CDROM_LEADOUT_TRACK)
i_track = p_env->gen.i_tracks + p_env->gen.i_first_track;
if (i_track > (p_env->gen.i_tracks + p_env->gen.i_first_track)
|| i_track < p_env->gen.i_first_track) {
return false;
} else {
cdio_lsn_to_msf(
p_env->tocent[i_tracks - p_env->gen.i_first_track].start_lsn, p_msf);
return true;
}
}
-------------------------------------------------------------------------
As diff:
--- lib/driver/MSWindows/win32.c.orig 2018-05-27 09:06:52.403774138 +0200
+++ lib/driver/MSWindows/win32.c 2020-05-20 18:55:12.100941556 +0200
@@ -818,12 +818,15 @@ _cdio_get_track_msf(void *p_user_data, t
if (!p_env->gen.toc_init)
if (!read_toc_win32 (p_env)) return false;
- if (i_tracks == CDIO_CDROM_LEADOUT_TRACK) i_tracks = p_env->gen.i_tracks+1;
+ if (i_tracks == CDIO_CDROM_LEADOUT_TRACK)
+ i_track = p_env->gen.i_tracks + p_env->gen.i_first_track;
- if (i_tracks > p_env->gen.i_tracks+1 || i_tracks == 0) {
+ if (i_track > (p_env->gen.i_tracks + p_env->gen.i_first_track)
+ || i_track < p_env->gen.i_first_track) {
return false;
} else {
- cdio_lsn_to_msf(p_env->tocent[i_tracks-1].start_lsn, p_msf);
+ cdio_lsn_to_msf(
+ p_env->tocent[i_tracks - p_env->gen.i_first_track].start_lsn, p_msf);
return true;
}
}
-------------------------------------------------------------------------
I looked for other suspicious indexed access to .tocent[] and found none.
Have a nice day :)
Thomas
- [Libcdio-devel] Proposal for fix of cd-info on MSWindows driver,
Thomas Schmitt <=