fewer error exits in drivers. Instead, a failure code is returned.
This commit is contained in:
5
NEWS
5
NEWS
@@ -5,10 +5,11 @@
|
||||
- Redo types of lsn and lba to allow negative values. Should model MMC3
|
||||
specs. Add max/min values for lsn.
|
||||
- More complete MMC command set
|
||||
- FreeBSD drive reading works better (thanks to Heiner)
|
||||
- FreeBSD driver ioctl and CAM reading works better (thanks to Heiner)
|
||||
- OSX drive reading works better (thanks to Justin F. Hallett)
|
||||
- cd-read allows dumping bytes to stdout and hexdumps to a file
|
||||
via options --no-hexdump and --hexdump
|
||||
- fewer error exits in drivers. Instead, a failure code is returned.
|
||||
- better NRG reading (thanks to Michael Kukat via extractnrg.pl)
|
||||
- better tracking of allocated variables (cd-read, cd-info, FreeBSD)
|
||||
- iso9660: Add interface to read PVD and pick out some of the fields in that.
|
||||
@@ -122,4 +123,4 @@
|
||||
0.1
|
||||
Routines split off from VCDImager.
|
||||
|
||||
$Id: NEWS,v 1.46 2004/06/23 02:25:37 rocky Exp $
|
||||
$Id: NEWS,v 1.47 2004/06/25 21:10:36 rocky Exp $
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: _cdio_bsdi.c,v 1.26 2004/06/03 12:37:54 rocky Exp $
|
||||
$Id: _cdio_bsdi.c,v 1.27 2004/06/25 21:10:43 rocky Exp $
|
||||
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -27,7 +27,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: _cdio_bsdi.c,v 1.26 2004/06/03 12:37:54 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: _cdio_bsdi.c,v 1.27 2004/06/25 21:10:43 rocky Exp $";
|
||||
|
||||
#include <cdio/sector.h>
|
||||
#include <cdio/util.h>
|
||||
@@ -122,7 +122,7 @@ static bool
|
||||
_cdio_init (_img_private_t *env)
|
||||
{
|
||||
if (env->gen.init) {
|
||||
cdio_error ("init called more than once");
|
||||
cdio_warn ("init called more than once");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ _cdio_init (_img_private_t *env)
|
||||
|
||||
if (env->gen.fd < 0)
|
||||
{
|
||||
cdio_error ("open (%s): %s", env->source_name, strerror (errno));
|
||||
cdio_warn ("open (%s): %s", env->source_name, strerror (errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ _read_audio_sectors_bsdi (void *user_data, void *data, lsn_t lsn,
|
||||
|
||||
switch (env->access_mode) {
|
||||
case _AM_NONE:
|
||||
cdio_error ("no way to read audio");
|
||||
cdio_warn ("no way to read audio");
|
||||
return 1;
|
||||
break;
|
||||
|
||||
@@ -277,7 +277,7 @@ _read_mode2_sector_bsdi (void *user_data, void *data, lsn_t lsn,
|
||||
switch (env->access_mode)
|
||||
{
|
||||
case _AM_NONE:
|
||||
cdio_error ("no way to read mode2");
|
||||
cdio_warn ("no way to read mode2");
|
||||
return 1;
|
||||
break;
|
||||
|
||||
@@ -369,7 +369,7 @@ _set_arg_bsdi (void *user_data, const char key[], const char value[])
|
||||
if (!strcmp(value, "IOCTL"))
|
||||
env->access_mode = _AM_IOCTL;
|
||||
else
|
||||
cdio_error ("unknown access type: %s. ignored.", value);
|
||||
cdio_warn ("unknown access type: %s. ignored.", value);
|
||||
}
|
||||
else
|
||||
return -1;
|
||||
@@ -388,7 +388,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
|
||||
/* read TOC header */
|
||||
if ( ioctl(env->gen.fd, CDROMREADTOCHDR, &env->tochdr) == -1 ) {
|
||||
cdio_error("%s: %s\n",
|
||||
cdio_warn("%s: %s\n",
|
||||
"error in ioctl CDROMREADTOCHDR", strerror(errno));
|
||||
return false;
|
||||
}
|
||||
@@ -398,7 +398,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
env->tocent[i-1].cdte_track = i;
|
||||
env->tocent[i-1].cdte_format = CDROM_MSF;
|
||||
if ( ioctl(env->gen.fd, CDROMREADTOCENTRY, &env->tocent[i-1]) == -1 ) {
|
||||
cdio_error("%s %d: %s\n",
|
||||
cdio_warn("%s %d: %s\n",
|
||||
"error in ioctl CDROMREADTOCENTRY for track",
|
||||
i, strerror(errno));
|
||||
return false;
|
||||
@@ -418,7 +418,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
|
||||
if (ioctl(env->gen.fd, CDROMREADTOCENTRY,
|
||||
&env->tocent[TOTAL_TRACKS]) == -1 ) {
|
||||
cdio_error("%s: %s\n",
|
||||
cdio_warn("%s: %s\n",
|
||||
"error in ioctl CDROMREADTOCENTRY for lead-out",
|
||||
strerror(errno));
|
||||
return false;
|
||||
@@ -453,18 +453,18 @@ _eject_media_bsdi (void *user_data) {
|
||||
switch(status) {
|
||||
case CDS_TRAY_OPEN:
|
||||
if((ret = ioctl(fd, CDROMCLOSETRAY, 0)) != 0) {
|
||||
cdio_error ("ioctl CDROMCLOSETRAY failed: %s\n", strerror(errno));
|
||||
cdio_warn ("ioctl CDROMCLOSETRAY failed: %s\n", strerror(errno));
|
||||
}
|
||||
break;
|
||||
case CDS_DISC_OK:
|
||||
if((ret = ioctl(fd, CDROMEJECT, 0)) != 0) {
|
||||
cdio_error("ioctl CDROMEJECT failed: %s\n", strerror(errno));
|
||||
cdio_warn("ioctl CDROMEJECT failed: %s\n", strerror(errno));
|
||||
}
|
||||
break;
|
||||
}
|
||||
ret=0;
|
||||
} else {
|
||||
cdio_error ("CDROM_DRIVE_STATUS failed: %s\n", strerror(errno));
|
||||
cdio_warn ("CDROM_DRIVE_STATUS failed: %s\n", strerror(errno));
|
||||
ret=1;
|
||||
}
|
||||
close(fd);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: _cdio_generic.c,v 1.17 2004/06/19 19:15:15 rocky Exp $
|
||||
$Id: _cdio_generic.c,v 1.18 2004/06/25 21:10:43 rocky Exp $
|
||||
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -27,7 +27,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: _cdio_generic.c,v 1.17 2004/06/19 19:15:15 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: _cdio_generic.c,v 1.18 2004/06/25 21:10:43 rocky Exp $";
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -86,7 +86,7 @@ cdio_generic_init (void *user_data)
|
||||
{
|
||||
generic_img_private_t *_env = user_data;
|
||||
if (_env->init) {
|
||||
cdio_error ("init called more than once");
|
||||
cdio_warn ("init called more than once");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: _cdio_linux.c,v 1.55 2004/06/06 11:44:51 rocky Exp $
|
||||
$Id: _cdio_linux.c,v 1.56 2004/06/25 21:10:43 rocky Exp $
|
||||
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -27,7 +27,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.55 2004/06/06 11:44:51 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.56 2004/06/25 21:10:43 rocky Exp $";
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@@ -397,7 +397,7 @@ _read_mode1_sector_linux (void *env, void *data, lsn_t lsn,
|
||||
switch (_obj->access_mode)
|
||||
{
|
||||
case _AM_NONE:
|
||||
cdio_error ("no way to read mode1");
|
||||
cdio_warn ("no way to read mode1");
|
||||
return 1;
|
||||
break;
|
||||
|
||||
@@ -492,7 +492,7 @@ _read_mode2_sector_linux (void *user_data, void *data, lsn_t lsn,
|
||||
switch (env->access_mode)
|
||||
{
|
||||
case _AM_NONE:
|
||||
cdio_error ("no way to read mode2");
|
||||
cdio_warn ("no way to read mode2");
|
||||
return 1;
|
||||
break;
|
||||
|
||||
@@ -627,7 +627,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
|
||||
/* read TOC header */
|
||||
if ( ioctl(env->gen.fd, CDROMREADTOCHDR, &env->tochdr) == -1 ) {
|
||||
cdio_error("%s: %s\n",
|
||||
cdio_warn("%s: %s\n",
|
||||
"error in ioctl CDROMREADTOCHDR", strerror(errno));
|
||||
return false;
|
||||
}
|
||||
@@ -638,7 +638,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
env->tocent[i-FIRST_TRACK_NUM].cdte_format = CDROM_MSF;
|
||||
if ( ioctl(env->gen.fd, CDROMREADTOCENTRY,
|
||||
&env->tocent[i-FIRST_TRACK_NUM]) == -1 ) {
|
||||
cdio_error("%s %d: %s\n",
|
||||
cdio_warn("%s %d: %s\n",
|
||||
"error in ioctl CDROMREADTOCENTRY for track",
|
||||
i, strerror(errno));
|
||||
return false;
|
||||
@@ -658,7 +658,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
|
||||
if (ioctl(env->gen.fd, CDROMREADTOCENTRY,
|
||||
&env->tocent[TOTAL_TRACKS]) == -1 ) {
|
||||
cdio_error("%s: %s\n",
|
||||
cdio_warn("%s: %s\n",
|
||||
"error in ioctl CDROMREADTOCENTRY for lead-out",
|
||||
strerror(errno));
|
||||
return false;
|
||||
@@ -748,7 +748,7 @@ _eject_media_linux (void *user_data) {
|
||||
switch(status) {
|
||||
case CDS_TRAY_OPEN:
|
||||
if((ret = ioctl(fd, CDROMCLOSETRAY)) != 0) {
|
||||
cdio_error ("ioctl CDROMCLOSETRAY failed: %s\n", strerror(errno));
|
||||
cdio_warn ("ioctl CDROMCLOSETRAY failed: %s\n", strerror(errno));
|
||||
ret = 1;
|
||||
}
|
||||
break;
|
||||
@@ -758,17 +758,17 @@ _eject_media_linux (void *user_data) {
|
||||
/* Try ejecting the MMC way... */
|
||||
ret = _eject_media_mmc(fd);
|
||||
if (0 != ret) {
|
||||
cdio_error("ioctl CDROMEJECT failed: %s\n", strerror(eject_error));
|
||||
cdio_warn("ioctl CDROMEJECT failed: %s\n", strerror(eject_error));
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
cdio_error ("Unknown CD-ROM (%d)\n", status);
|
||||
cdio_warn ("Unknown CD-ROM (%d)\n", status);
|
||||
ret = 1;
|
||||
}
|
||||
} else {
|
||||
cdio_error ("CDROM_DRIVE_STATUS failed: %s\n", strerror(errno));
|
||||
cdio_warn ("CDROM_DRIVE_STATUS failed: %s\n", strerror(errno));
|
||||
ret=1;
|
||||
}
|
||||
close(fd);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: _cdio_sunos.c,v 1.39 2004/06/13 20:38:58 rocky Exp $
|
||||
$Id: _cdio_sunos.c,v 1.40 2004/06/25 21:10:44 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.39 2004/06/13 20:38:58 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.40 2004/06/25 21:10:44 rocky Exp $";
|
||||
|
||||
#ifdef HAVE_GLOB_H
|
||||
#include <glob.h>
|
||||
@@ -371,7 +371,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
|
||||
/* read TOC header */
|
||||
if ( ioctl(env->gen.fd, CDROMREADTOCHDR, &env->tochdr) == -1 ) {
|
||||
cdio_error("%s: %s\n",
|
||||
cdio_warn("%s: %s\n",
|
||||
"error in ioctl CDROMREADTOCHDR", strerror(errno));
|
||||
return false;
|
||||
}
|
||||
@@ -381,7 +381,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
env->tocent[i-1].cdte_track = i;
|
||||
env->tocent[i-1].cdte_format = CDROM_MSF;
|
||||
if ( ioctl(env->gen.fd, CDROMREADTOCENTRY, &env->tocent[i-1]) == -1 ) {
|
||||
cdio_error("%s %d: %s\n",
|
||||
cdio_warn("%s %d: %s\n",
|
||||
"error in ioctl CDROMREADTOCENTRY for track",
|
||||
i, strerror(errno));
|
||||
return false;
|
||||
@@ -394,7 +394,7 @@ _cdio_read_toc (_img_private_t *env)
|
||||
|
||||
if (ioctl(env->gen.fd, CDROMREADTOCENTRY,
|
||||
&env->tocent[env->tochdr.cdth_trk1]) == -1 ) {
|
||||
cdio_error("%s: %s\n",
|
||||
cdio_warn("%s: %s\n",
|
||||
"error in ioctl CDROMREADTOCENTRY for lead-out",
|
||||
strerror(errno));
|
||||
return false;
|
||||
@@ -419,7 +419,7 @@ _cdio_eject_media (void *user_data) {
|
||||
if (env->gen.fd > -1) {
|
||||
if ((ret = ioctl(env->gen.fd, CDROMEJECT)) != 0) {
|
||||
cdio_generic_free((void *) env);
|
||||
cdio_error ("CDROMEJECT failed: %s\n", strerror(errno));
|
||||
cdio_warn ("CDROMEJECT failed: %s\n", strerror(errno));
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -436,7 +436,7 @@ _cdio_malloc_and_zero(size_t size) {
|
||||
if( !size ) size++;
|
||||
|
||||
if((ptr = malloc(size)) == NULL) {
|
||||
cdio_error("malloc() failed: %s", strerror(errno));
|
||||
cdio_warn("malloc() failed: %s", strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user