Add OS/2 driver courtesy of KO Myung-Hun. Security: Add "%s" to cdparanoia's fprintfs
This commit is contained in:
3
THANKS
3
THANKS
@@ -22,6 +22,9 @@ Justin B. Ruggles <jruggle at earthlink.net>
|
||||
Justin F. Hallett <thesin at southofheaven.org>
|
||||
Fink packaging and matters OSX
|
||||
|
||||
KO Myung-Hun <komh@chollian.net>
|
||||
OS2 Driver
|
||||
|
||||
Kris Verbeeck <airborne at advalvas.be>:
|
||||
CDDB library support from libcddb http://libcddb.sourceforge.net
|
||||
Gentoo ebuild-file
|
||||
|
||||
@@ -440,6 +440,13 @@ int has_timeout=sizeof(test.timeout);],
|
||||
# LIBS="$LIBS -lcam"
|
||||
cd_drivers="${cd_drivers}, NetBSD "
|
||||
;;
|
||||
os2*)
|
||||
AC_DEFINE([HAVE_OS2_CDROM], [1],
|
||||
[Define 1 if you have OS/2 CD-ROM support])
|
||||
LT_NO_UNDEFINED="-no-undefined"
|
||||
LDFLAGS="$LDFLAGS -Zbin-files"
|
||||
cd_drivers="${cd_drivers}, OS2 "
|
||||
;;
|
||||
*)
|
||||
AC_MSG_WARN([Don't have OS CD-reading support for ${host_os}...])
|
||||
AC_MSG_WARN([Will use generic support.])
|
||||
@@ -474,6 +481,7 @@ AC_SUBST(HAVE_FREEBSD_CDROM)
|
||||
AC_SUBST(HAVE_LINUX_CDROM)
|
||||
AC_SUBST(HAVE_SOLARIS_CDROM)
|
||||
AC_SUBST(HAVE_WIN32_CDROM)
|
||||
AC_SUBST(HAVE_OS2_CDROM)
|
||||
|
||||
LIBCDIO_SOURCE_PATH="`pwd`"
|
||||
AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- c -*-
|
||||
$Id: device.h,v 1.39 2008/03/28 01:28:50 rocky Exp $
|
||||
|
||||
Copyright (C) 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -157,6 +157,7 @@ extern "C" {
|
||||
DRIVER_NETBSD, /**< NetBSD Driver. */
|
||||
DRIVER_LINUX, /**< GNU/Linux Driver */
|
||||
DRIVER_SOLARIS, /**< Sun Solaris Driver */
|
||||
DRIVER_OS2, /**< IBM OS/2 Driver */
|
||||
DRIVER_OSX, /**< Apple OSX Driver */
|
||||
DRIVER_WIN32, /**< Microsoft Windows Driver. Includes ASPI and
|
||||
ioctl access. */
|
||||
@@ -575,7 +576,7 @@ extern "C" {
|
||||
CdIo_t * cdio_open_aix (const char *psz_source);
|
||||
|
||||
/*! Return a string containing the default device name that the
|
||||
BSDI driver would use when none is specified.
|
||||
AIX driver would use when none is specified.
|
||||
|
||||
@return the cdio object for subsequent operations.
|
||||
NULL on error or there is no AIX driver.
|
||||
@@ -810,6 +811,44 @@ extern "C" {
|
||||
|
||||
char **cdio_get_devices_win32(void);
|
||||
|
||||
/*! Set up CD-ROM for reading using the IBM OS/2 driver. The
|
||||
device_name is the some sort of device name.
|
||||
|
||||
NULL is returned on error or there is no OS/2 driver.
|
||||
|
||||
In some situations of drivers or OS's we can't find a CD device if
|
||||
there is no media in it and it is possible for this routine to return
|
||||
NULL even though there may be a hardware CD-ROM.
|
||||
|
||||
@see cdio_open_cd, cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_os2 (const char *psz_source);
|
||||
|
||||
/*! Set up CD-ROM for reading using the IBM OS/2 driver. The
|
||||
device_name is the some sort of device name.
|
||||
|
||||
NULL is returned on error or there is no OS/2 driver.
|
||||
|
||||
@see cdio_open_cd, cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_am_os2 (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
|
||||
/*! Return a string containing the default device name that the
|
||||
OS/2 driver would use when none is specified. A scan is made
|
||||
for CD-ROM drives with CDs in them.
|
||||
|
||||
In some situations of drivers or OS's we can't find a CD device if
|
||||
there is no media in it and it is possible for this routine to return
|
||||
NULL even though there may be a hardware CD-ROM.
|
||||
*/
|
||||
char * cdio_get_default_device_os2(void);
|
||||
|
||||
/*! Return a list of all of the CD-ROM devices that the OS/2 driver
|
||||
can find.
|
||||
*/
|
||||
char **cdio_get_devices_os2(void);
|
||||
|
||||
/*! Set up CD-ROM for reading using the Nero driver. The
|
||||
device_name is the some sort of device name.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
$Id: common_interface.h,v 1.7 2008/04/16 17:00:40 karl Exp $
|
||||
|
||||
Copyright (C) 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2004, 2005, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 1998 Monty xiphmont@mit.edu
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <cdio/types.h>
|
||||
#include "low_interface.h"
|
||||
|
||||
#if defined(HAVE_LSTAT) && !defined(HAVE_WIN32_CDROM)
|
||||
#if defined(HAVE_LSTAT) && !defined(HAVE_WIN32_CDROM) && !defined(HAVE_OS2_CDROM)
|
||||
/* Define this if the CD-ROM device is a file in the filesystem
|
||||
that can be lstat'd
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: Makefile.am,v 1.28 2008/10/20 01:25:15 rocky Exp $
|
||||
#
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
# Rocky Bernstein <rocky@gnu.org>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@@ -42,7 +42,7 @@
|
||||
# public release, then set AGE to 0. A changed interface means an
|
||||
# incompatibility with previous versions.
|
||||
|
||||
libcdio_la_CURRENT = 10
|
||||
libcdio_la_CURRENT = 11
|
||||
libcdio_la_REVISION = 0
|
||||
libcdio_la_AGE = 0
|
||||
|
||||
@@ -89,6 +89,7 @@ libcdio_sources = \
|
||||
MSWindows/win32.c \
|
||||
MSWindows/win32.h \
|
||||
netbsd.c \
|
||||
os2.c \
|
||||
osx.c \
|
||||
read.c \
|
||||
sector.c \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
$Id: cdio_private.h,v 1.37 2008/04/22 15:29:11 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -485,6 +485,7 @@ extern "C" {
|
||||
driver_return_code_t close_tray_freebsd (const char *psz_drive);
|
||||
driver_return_code_t close_tray_linux (const char *psz_drive);
|
||||
driver_return_code_t close_tray_netbsd (const char *psz_drive);
|
||||
driver_return_code_t close_tray_os2 (const char *psz_drive);
|
||||
driver_return_code_t close_tray_osx (const char *psz_drive);
|
||||
driver_return_code_t close_tray_solaris (const char *psz_drive);
|
||||
driver_return_code_t close_tray_win32 (const char *psz_drive);
|
||||
@@ -523,6 +524,10 @@ extern "C" {
|
||||
True if Sun Solaris driver is available. */
|
||||
bool cdio_have_solaris (void);
|
||||
|
||||
/*! DEPRICATED: use cdio_have_driver().
|
||||
True if IBM OS2 driver is available. */
|
||||
bool cdio_have_os2 (void);
|
||||
|
||||
/*! DEPRICATED: use cdio_have_driver().
|
||||
True if Apple OSX driver is available. */
|
||||
bool cdio_have_osx (void);
|
||||
|
||||
@@ -47,7 +47,8 @@
|
||||
/* The below array gives of the drivers that are currently available for
|
||||
on a particular host. */
|
||||
|
||||
CdIo_driver_t CdIo_driver[CDIO_MAX_DRIVER] = { {0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} };
|
||||
CdIo_driver_t CdIo_driver[CDIO_MAX_DRIVER] = {
|
||||
{0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL} };
|
||||
|
||||
/* The last valid entry of Cdio_driver.
|
||||
-1 or (CDIO_DRIVER_UNINIT) means uninitialzed.
|
||||
@@ -67,6 +68,8 @@ const driver_id_t cdio_os_driver = DRIVER_FREEBSD;
|
||||
const driver_id_t cdio_os_driver = DRIVER_LINUX;
|
||||
#elif HAVE_DARWIN_CDROM
|
||||
const driver_id_t cdio_os_driver = DRIVER_OSX;
|
||||
#elif HAVE_OS2_CDROM
|
||||
const driver_id_t cdio_os_driver = DRIVER_OS2;
|
||||
#elif HAVE_SOLARIS_CDROM
|
||||
const driver_id_t cdio_os_driver = DRIVER_SOLARIS;
|
||||
#elif HAVE_WIN32_CDROM
|
||||
@@ -187,6 +190,19 @@ CdIo_driver_t CdIo_all_drivers[CDIO_MAX_DRIVER+1] = {
|
||||
&close_tray_solaris
|
||||
},
|
||||
|
||||
{DRIVER_OS2,
|
||||
CDIO_SRC_IS_DEVICE_MASK|CDIO_SRC_IS_NATIVE_MASK|CDIO_SRC_IS_SCSI_MASK,
|
||||
"OS2",
|
||||
"IBM OS/2 driver",
|
||||
&cdio_have_os2,
|
||||
&cdio_open_os2,
|
||||
&cdio_open_am_os2,
|
||||
&cdio_get_default_device_os2,
|
||||
&cdio_is_device_os2,
|
||||
&cdio_get_devices_os2,
|
||||
&close_tray_os2
|
||||
},
|
||||
|
||||
{DRIVER_OSX,
|
||||
CDIO_SRC_IS_DEVICE_MASK|CDIO_SRC_IS_NATIVE_MASK|CDIO_SRC_IS_SCSI_MASK,
|
||||
"OS X",
|
||||
@@ -942,6 +958,7 @@ cdio_open_am (const char *psz_orig_source, driver_id_t driver_id,
|
||||
case DRIVER_SOLARIS:
|
||||
case DRIVER_WIN32:
|
||||
case DRIVER_OSX:
|
||||
case DRIVER_OS2:
|
||||
case DRIVER_NRG:
|
||||
case DRIVER_BINCUE:
|
||||
case DRIVER_CDRDAO:
|
||||
|
||||
@@ -134,6 +134,12 @@ extern "C" {
|
||||
*/
|
||||
bool cdio_is_device_win32(const char *source_name);
|
||||
|
||||
/*!
|
||||
Return true if source_name could be a device containing a CD-ROM on
|
||||
OS/2
|
||||
*/
|
||||
bool cdio_is_device_os2(const char *source_name);
|
||||
|
||||
|
||||
/*!
|
||||
Return true if source_name could be a device containing a CD-ROM on
|
||||
|
||||
1552
lib/driver/os2.c
Normal file
1552
lib/driver/os2.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
$Id: cd-paranoia.c,v 1.37 2008/06/19 15:44:30 flameeyes Exp $
|
||||
|
||||
Copyright (C) 2004, 2005, 2006, 2007, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
(C) 1998 Monty <xiphmont@mit.edu>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -528,10 +528,10 @@ callback(long int inpos, paranoia_cb_mode_t function)
|
||||
buffer[aheadposition+19]='>';
|
||||
}
|
||||
|
||||
fprintf(stderr,buffer);
|
||||
fprintf(stderr, "%s", buffer);
|
||||
|
||||
if (logfile != NULL && function==-1) {
|
||||
fprintf(logfile,buffer+1);
|
||||
fprintf(logfile, "%s", buffer+1);
|
||||
fprintf(logfile,"\n\n");
|
||||
fflush(logfile);
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ void
|
||||
report(const char *s)
|
||||
{
|
||||
if (!quiet) {
|
||||
fprintf(stderr,s);
|
||||
fprintf(stderr, "%s", s);
|
||||
fputc('\n',stderr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
$Id: cdda-player.c,v 1.50 2008/06/19 15:44:14 flameeyes Exp $
|
||||
|
||||
Copyright (C) 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
Adapted from Gerd Knorr's player.c program <kraxel@bytesex.org>
|
||||
Copyright (C) 1997, 1998
|
||||
@@ -110,7 +110,9 @@ static bool b_verbose = false;
|
||||
static bool debug = false;
|
||||
static bool b_interactive = true;
|
||||
static bool b_prefer_cdtext = true;
|
||||
#ifdef CDDB_ADDED
|
||||
static bool b_cddb = false; /* CDDB database present */
|
||||
#endif
|
||||
static bool b_db = false; /* we have a database at all */
|
||||
static bool b_record = false; /* we have a record for
|
||||
static the inserted CD */
|
||||
@@ -143,7 +145,9 @@ static char year[5];
|
||||
static bool b_cdtext_title; /* true if from CD-Text, false if from CDDB */
|
||||
static bool b_cdtext_artist; /* true if from CD-Text, false if from CDDB */
|
||||
static bool b_cdtext_genre; /* true if from CD-Text, false if from CDDB */
|
||||
#ifdef CDTEXT_CATEGORY_ADDED
|
||||
static bool b_cdtext_category; /* true if from CD-Text, false if from CDDB */
|
||||
#endif
|
||||
static bool b_cdtext_year; /* true if from CD-Text, false if from CDDB */
|
||||
|
||||
static cdio_audio_volume_t audio_volume;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
$Id: util.c,v 1.54 2008/04/14 17:30:27 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2007, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -160,7 +160,7 @@ open_input(const char *psz_source, source_image_t source_image,
|
||||
char *
|
||||
fillout_device_name(const char *device_name)
|
||||
{
|
||||
#if defined(HAVE_WIN32_CDROM)
|
||||
#if defined(HAVE_WIN32_CDROM) || defined(HAVE_OS2_CDROM)
|
||||
return strdup(device_name);
|
||||
#else
|
||||
unsigned int prefix_len = strlen(DEV_PREFIX);
|
||||
|
||||
Reference in New Issue
Block a user