Commit Graph

1351 Commits

Author SHA1 Message Date
R. Bernstein
1b8e52712d Add MMC_RDWR access mode - open drive R/W only with this access.
Start GNU/Linux test driver.
2009-12-20 06:30:24 -05:00
R. Bernstein
4e8eff137e Thomas Schmitt's first patches towards supporting writing from libcdio. Somewhat experimental and for now just the GNU/Linux driver. 2009-12-19 18:17:18 -05:00
R. Bernstein
423dc300f6 Revert one cppcheck style change since gcc complains about it. 2009-10-27 21:48:06 -04:00
R. Bernstein
3844f42df8 Remove some cppcheck style warnings 2009-10-27 21:28:11 -04:00
R. Bernstein
b43dc9cd98 A couple more memory leaks from cppcheck 2009-10-27 21:14:37 -04:00
R. Bernstein
273ba31e3a In 0.83git now. Fix minor leaks in libcdio 0.82 detected by cppcheck
via Eric Sesterhenn.
2009-10-27 21:00:51 -04:00
R. Bernstein
603d23949d Perhaps adding a real config.rpath will help some of the iconv problems.
Remove a compiler warning when not compling in FreeBSD.
2009-10-22 22:08:05 -04:00
R. Bernstein
639f1e4f36 Remove dupicated code caused by mixup with existing get-media-changed code. 2009-10-22 05:47:25 -04:00
R. Bernstein
d89c2206c4 NEWS: update what's up
lib/driver/Makefile.am: increment library number
lib/driver/FreeBSD/*: FreeBSD get_media_changed fixes for ioctl.
2009-10-21 10:17:33 -04:00
Nicolas Boullis
b91d147a7a Export the cdio_drivers and cdio_device_drivers arrays. 2009-07-13 00:48:24 +02:00
Nicolas Boullis
317ef05816 Remove all other uses of CDIO_MIN_DRIVER, CDIO_MAX_DRIVER, CDIO_MIN_DEVICE_DRIVER or CDIO_MAX_DEVICE_DRIVER within the libcdio library. 2009-07-13 00:48:24 +02:00
Nicolas Boullis
e2c8475275 Change scan_for_driver to use cdio_drivers and cdio_device_drivers. 2009-07-13 00:48:24 +02:00
Nicolas Boullis
70dad66457 Add new cdio_drivers and cdio_device_drivers arrays. 2009-07-13 00:48:24 +02:00
R. Bernstein
2522c26ec8 Adapted from patches by Nicolas Boullis on Debian:
* alignment issues on sparc
 * "make check" failure when stderr is not a tty
 * wrong program name in manpages in tarball
 * build failure with hurd
 * "make check" failure on machines with no disc drive
 * make distclean fixes
2009-07-02 20:26:39 -04:00
R. Bernstein
d297cdaf08 Guard against dereferncing a null cdtext pointer. 2009-05-14 22:30:50 -04:00
rocky
13245c6a55 Patch from John Wehle:
A side effect of opening the cdrom device on FreeBSD is it
locks the drive.  This makes cdio_get_media_changed less
useful and prevents you from being able to switch disks
when using things such as the audacious media player.

This patch simply unlocks the drive right after it's opened
prior to opening the cam passthrough device.
2009-04-23 03:26:00 -04:00
R. Bernstein
58d87158cf Add OS/2 driver courtesy of KO Myung-Hun. Security: Add "%s" to cdparanoia's fprintfs 2009-02-08 05:52:49 -05:00
R. Bernstein
7c497a2c73 Endless loop when no CD-rom drives. Patch thanks to Adrian Reber 2008-12-30 14:14:00 -05:00
R. Bernstein
860becb14c Use LTLIBICONV instead of LIBICONV. Bug #25201 from Yaakov Selkowitz 2008-12-28 23:09:25 -05:00
R. Bernstein
29fc72a06d Fix Solaris and Win32 conditionals bug #25201 from Yaakov Selkowitz 2008-12-28 22:53:25 -05:00
R. Bernstein
a904cc23ec Resolve conflicted files. 2008-12-06 22:46:14 -05:00
R. Bernstein
570d3c6ec5 I hate conflicted merges 2008-12-06 22:44:28 -05:00
R. Bernstein
4f0228e99f Fix bug in 0.81 release in adding NetBSD driver. Make device enumerations
match internal structures. (Also corrected the name for the
non-existent AIX driver.)
2008-12-06 22:35:16 -05:00
R. Bernstein
542481d673 Wasn't checking the range of the device id in cdio_have_driver. Add regression test for checking this too.
More git administrivia.
2008-12-06 21:20:51 -05:00
R. Bernstein
f434186567 Makefile.am: Redo target for ChangeLog to use git2cl. NEWS: Note NetBSD driver added. Reset: git administrivia. 2008-12-06 20:04:23 -05:00
R. Bernstein
f594166540 . 2008-11-29 01:40:40 -05:00
R. Bernstein
6175d43311 More administrivia. 2008-11-29 01:04:33 -05:00
R. Bernstein
95f087cdc3 First commit after CVS conversion. Should be just administrative changes. 2008-11-29 00:56:26 -05:00
rocky
f81a660ef8 Bug fix to allow linker flags --as-needed and --no-undefined. Thanks to Gtz Waschk 2008-10-29 09:53:00 +00:00
rocky
68adc03b85 Increment library numbers 2008-10-20 01:25:10 +00:00
rocky
6ab1f8e448 patch #6548: fix osx handling. See that for more information 2008-10-17 11:58:52 +00:00
rocky
275703a5d6 Remove stray @ character in Makefile.am. Thanks yet again to Steve
Schultz for finding/fixing.
2008-08-31 22:22:56 +00:00
flameeyes
a4b1427fe9 Use the LTLIBICONV variable rather than LIBICONV.
With this change, instead of using the fully qualified path to the
shared object (or the one that the configure think is the fully
qualified path), the path where the library is found will be added to
the search path and just a generic -liconv will be used.

The old variable would be fooled up when /usr/lib/libiconv.so is an LD
script that redirects to /lib/libiconv.so, causing failures with some
linkers.

Also, replace @LIBICONV@ for libcdio itself also with $(LTLIBICONV) or
it will fail to link against on uClibc.
2008-08-31 13:38:21 +00:00
rocky
3d106b4568 Free memory when recovering from errors. 2008-08-30 06:55:50 +00:00
rocky
82c7c09a97 Fixes for Mingw+MSYS and DLL support from Carlo Bramini
* configure.ac: Added AC_LIBTOOL_WIN32_DLL for enabling the creation of shared libraries.
* configure.ac: Added -I$(top_srcdir)/include to LIBCDIO_CFLAGS, it allows to build outside the source tree.
* configure.ac: Added LT_NO_UNDEFINED for adding '-no-undefined' switch to libtool when building win32 shared libraries.
* configure.ac: Check for Windows.h presence if under Mingw (included for using Sleep() function).
* configure.ac: Check for more missing functions: setenv(), unsetenv(), sleep(), gmtime_r(), localtime_r().

* example/cdchange.c: If sleep() function does not exist, it tries to emulate it with a similar code (require inclusion of Windows.h)

* src/cddb.c:
* lib/cdda_interface/scsi_interface.c: Compilation fails because u_int32_t is undefined. It has been changed to uint32_t to be compliant to all other parts of the libraries.
* lib/cdda_interface/Makefile.am:
* lib/iso9660/Makefile.am:
* lib/cdio++/Makefile.am:
* lib/paranoia/Makefile.am:
* lib/udf/Makefile.am:
* lib/driver/Makefile.am: added LT_NO_UNDEFINED to libtool flags.
* lib/iso9660/iso9660.c: Added replacements for setenv(), unsetenv(), gmtime_r\
(), localtime_r().
2008-06-25 08:01:53 +00:00
rocky
9c32ef00a0 Was accessing outside of check2list causing wild looping. Turn all
sprintf's to snprintf's and check the return.

Turn check1list and check2list looping into a fixed constant number of
iterations rather than rely on a sentinal.
2008-06-25 07:46:20 +00:00
flameeyes
2453159ffc Make cdtext_keywords a static array of arrays. 2008-06-16 22:41:44 +00:00
flameeyes
2c48f4be66 Replace character pointers with character arrays, mark constants as
static as they are not used outside this translation unit (and some
not at all).
2008-06-16 19:45:44 +00:00
flameeyes
a1d1797d3b Replace character pointers in signature_t with properly-sized
character arrays.

The size of sigs has increased a bit but now the sigs array can stay
entirely in .rodata section, with no runtime relocations.

Having 128 bytes sized elements also allows for direct random access
on the array without multiplications.
2008-06-16 19:39:30 +00:00
flameeyes
4410f8dd39 Check in the missing file. 2008-06-14 10:36:49 +00:00
flameeyes
e4afadf511 Make checklists fit entirely in .rodata sections, by marking them constant and using an array of characters rather than a pointer to character. 2008-06-13 19:33:13 +00:00
flameeyes
35692e9e83 Make drive exceptions non-static objects that are shared between multiple units.
Also replace the three Dummy functions wth dummy_exception (also common).

Bump the revision.

This reduces the memory footprint of libcdda_interface of about 200 bytes.
2008-06-13 19:26:22 +00:00
pjcreath
dde50ca547 Fixed pregap regression failure on non-Intel architectures, removed warnings 2008-06-10 00:45:08 +00:00
rocky
71b5f6e14a More time setting/getting patches - the last of the patches from N. Boullis.
Make testiso9660 more stringent now that bugs have been removed.
2008-06-03 08:40:14 +00:00
rocky
a8e617dc7d Replace last vestige of non-reentrant gmtime with timegm. Problem
determination and fix again from Nicolas Boullis.
2008-05-31 12:18:33 +00:00
rocky
f03aa75458 iso9660_get_ltime: the TZ environment variable was set using a local
buffer that disappears when the function terminates. This might lead
to segmentation faults. Reset to the old TZ value (if any) or unset
the variable if it was previously not set. Problem noted and fixed by
Nicolas Boullis.
2008-05-31 11:59:06 +00:00
rocky
d60a120854 iso9660.c: On some architectures (like my powerpc), char is unsigned. So when
libcdio tries to adjust "converted ISO9660 timezones" in iso9660_set_ltime
on such architectures, it would replace legitimate negative values with
52.

Cast &_pv_date[16] to "iso712_t *" and then dereference.

Patch from Nicolas Boullis:

doc: small spelling typos.
2008-05-29 02:28:27 +00:00
rocky
7036d8d951 iso9660.h: parameter name change to match implementation.
iso9660.c: use reentrant version of localtime and gettime (most of the time)
Patch from Nicolas Boullis.

testiso9660.c: Change a memcmp for a test_compare which gives more detailed
information on failure.
2008-05-28 01:48:37 +00:00
rocky
e6a0e3e84e Fix prototype mismatch. Savannah Bug #23228 2008-05-11 09:50:54 +00:00
edsdead
c7d17c3fdc don't shift read_sector_type into reserved field of read cd cdb (resulting in every call being treated as CDIO_MMC_READ_TYPE_ANY) 2008-05-09 09:54:39 +00:00