_cdio_sunos.c: fix bug in audio mode reading.

*.c: replcate {from,to}_bcd8 with corresponding cdio_ names.
This commit is contained in:
rocky
2004-11-18 01:56:09 +00:00
parent 8b700e9be7
commit 46cfdd10aa
2 changed files with 28 additions and 27 deletions

View File

@@ -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 <hvr@gnu.org>
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -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 <glob.h>
@@ -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;
}
}

View File

@@ -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 <rocky@panix.com>
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
@@ -35,7 +35,7 @@
#include <ctype.h>
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;
}