Add OS/2 driver courtesy of KO Myung-Hun. Security: Add "%s" to cdparanoia's fprintfs

This commit is contained in:
R. Bernstein
2009-02-08 05:52:49 -05:00
parent 7c497a2c73
commit 58d87158cf
13 changed files with 1650 additions and 15 deletions

View File

@@ -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 \

View File

@@ -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);

View File

@@ -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:

View File

@@ -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

File diff suppressed because it is too large Load Diff