From 46cfdd10aaa7db111abad0bbd21f8bfdc8ed7ca3 Mon Sep 17 00:00:00 2001 From: rocky Date: Thu, 18 Nov 2004 01:56:09 +0000 Subject: [PATCH] _cdio_sunos.c: fix bug in audio mode reading. *.c: replcate {from,to}_bcd8 with corresponding cdio_ names. --- lib/_cdio_sunos.c | 39 ++++++++++++++++++++------------------- lib/sector.c | 16 ++++++++-------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/lib/_cdio_sunos.c b/lib/_cdio_sunos.c index f88b6293..2ef65756 100644 --- a/lib/_cdio_sunos.c +++ b/lib/_cdio_sunos.c @@ -1,5 +1,5 @@ /* - $Id: _cdio_sunos.c,v 1.78 2004/11/13 23:36:22 rocky Exp $ + $Id: _cdio_sunos.c,v 1.79 2004/11/18 01:56:09 rocky Exp $ Copyright (C) 2001 Herbert Valerio Riedel Copyright (C) 2002, 2003, 2004 Rocky Bernstein @@ -38,7 +38,7 @@ #ifdef HAVE_SOLARIS_CDROM -static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.78 2004/11/13 23:36:22 rocky Exp $"; +static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.79 2004/11/18 01:56:09 rocky Exp $"; #ifdef HAVE_GLOB_H #include @@ -181,17 +181,16 @@ static int _read_audio_sectors_solaris (void *p_user_data, void *data, lsn_t lsn, unsigned int nblocks) { - char buf[CDIO_CD_FRAMESIZE_RAW] = { 0, }; - struct cdrom_msf *msf = (struct cdrom_msf *) &buf; + struct cdrom_msf solaris_msf; msf_t _msf; struct cdrom_cdda cdda; _img_private_t *p_env = p_user_data; cdio_lba_to_msf (cdio_lsn_to_lba(lsn), &_msf); - msf->cdmsf_min0 = from_bcd8(_msf.m); - msf->cdmsf_sec0 = from_bcd8(_msf.s); - msf->cdmsf_frame0 = from_bcd8(_msf.f); + solaris_msf.cdmsf_min0 = cdio_from_bcd8(_msf.m); + solaris_msf.cdmsf_sec0 = cdio_from_bcd8(_msf.s); + solaris_msf.cdmsf_frame0 = cdio_from_bcd8(_msf.f); if (p_env->gen.ioctls_debugged == 75) cdio_debug ("only displaying every 75th ioctl from now on"); @@ -207,15 +206,16 @@ _read_audio_sectors_solaris (void *p_user_data, void *data, lsn_t lsn, p_env->gen.ioctls_debugged++; - cdda.cdda_addr = lsn; - cdda.cdda_length = nblocks; - cdda.cdda_data = (caddr_t) data; + cdda.cdda_addr = lsn; + cdda.cdda_length = nblocks; + cdda.cdda_data = (caddr_t) data; + cdda.cdda_subcode = CDROM_DA_NO_SUBCODE; + if (ioctl (p_env->gen.fd, CDROMCDDA, &cdda) == -1) { perror ("ioctl(..,CDROMCDDA,..)"); return 1; /* exit (EXIT_FAILURE); */ } - memcpy (data, buf, CDIO_CD_FRAMESIZE_RAW); return 0; } @@ -268,7 +268,7 @@ _read_mode2_sector_solaris (void *p_user_data, void *p_data, lsn_t lsn, bool b_form2) { char buf[CDIO_CD_FRAMESIZE_RAW] = { 0, }; - struct cdrom_msf *msf = (struct cdrom_msf *) &buf; + struct cdrom_msf solaris_msf; msf_t _msf; int offset = 0; struct cdrom_cdxa cd_read; @@ -276,9 +276,9 @@ _read_mode2_sector_solaris (void *p_user_data, void *p_data, lsn_t lsn, _img_private_t *p_env = p_user_data; cdio_lba_to_msf (cdio_lsn_to_lba(lsn), &_msf); - msf->cdmsf_min0 = from_bcd8(_msf.m); - msf->cdmsf_sec0 = from_bcd8(_msf.s); - msf->cdmsf_frame0 = from_bcd8(_msf.f); + solaris_msf.cdmsf_min0 = cdio_from_bcd8(_msf.m); + solaris_msf.cdmsf_sec0 = cdio_from_bcd8(_msf.s); + solaris_msf.cdmsf_frame0 = cdio_from_bcd8(_msf.f); if (p_env->gen.ioctls_debugged == 75) cdio_debug ("only displaying every 75th ioctl from now on"); @@ -291,7 +291,8 @@ _read_mode2_sector_solaris (void *p_user_data, void *p_data, lsn_t lsn, && p_env->gen.ioctls_debugged % 75 == 0) || p_env->gen.ioctls_debugged % (30 * 75) == 0) cdio_debug ("reading %2.2d:%2.2d:%2.2d", - msf->cdmsf_min0, msf->cdmsf_sec0, msf->cdmsf_frame0); + solaris_msf.cdmsf_min0, solaris_msf.cdmsf_sec0, + solaris_msf.cdmsf_frame0); p_env->gen.ioctls_debugged++; @@ -741,9 +742,9 @@ _cdio_get_track_msf(void *p_user_data, track_t i_track, msf_t *msf) return false; } else { struct cdrom_tocentry *msf0 = &p_env->tocent[i_track-1]; - msf->m = to_bcd8(msf0->cdte_addr.msf.minute); - msf->s = to_bcd8(msf0->cdte_addr.msf.second); - msf->f = to_bcd8(msf0->cdte_addr.msf.frame); + msf->m = cdio_to_bcd8(msf0->cdte_addr.msf.minute); + msf->s = cdio_to_bcd8(msf0->cdte_addr.msf.second); + msf->f = cdio_to_bcd8(msf0->cdte_addr.msf.frame); return true; } } diff --git a/lib/sector.c b/lib/sector.c index e3bf6671..3562dcce 100644 --- a/lib/sector.c +++ b/lib/sector.c @@ -1,5 +1,5 @@ /* - $Id: sector.c,v 1.14 2004/09/03 23:20:11 rocky Exp $ + $Id: sector.c,v 1.15 2004/11/18 01:56:09 rocky Exp $ Copyright (C) 2004 Rocky Bernstein Copyright (C) 2000 Herbert Valerio Riedel @@ -35,7 +35,7 @@ #include -static const char _rcsid[] = "$Id: sector.c,v 1.14 2004/09/03 23:20:11 rocky Exp $"; +static const char _rcsid[] = "$Id: sector.c,v 1.15 2004/11/18 01:56:09 rocky Exp $"; lba_t cdio_lba_to_lsn (lba_t lba) @@ -75,9 +75,9 @@ cdio_lsn_to_msf (lsn_t lsn, msf_t *msf) m = 99; } - msf->m = to_bcd8 (m); - msf->s = to_bcd8 (s); - msf->f = to_bcd8 (f); + msf->m = cdio_to_bcd8 (m); + msf->s = cdio_to_bcd8 (s); + msf->f = cdio_to_bcd8 (f); } /*! @@ -129,13 +129,13 @@ cdio_msf_to_lba (const msf_t *msf) cdio_assert (msf != 0); - lba = from_bcd8 (msf->m); + lba = cdio_from_bcd8 (msf->m); lba *= CDIO_CD_SECS_PER_MIN; - lba += from_bcd8 (msf->s); + lba += cdio_from_bcd8 (msf->s); lba *= CDIO_CD_FRAMES_PER_SEC; - lba += from_bcd8 (msf->f); + lba += cdio_from_bcd8 (msf->f); return lba; }