1. In the function is_cdrom_linux(...) in the file lib/driver/gnu_linux.c,
the CDROMREADTOCHDR ioctl gets called, which fails when the drive is
empty. The CDROM_GET_CAPABILITY ioctl always succeeds for CDrom drives
and fails for hard disks etc.
2. For some reason, at least my (GNU/Linux 2.6.10) Kernel fails to
open empty drives, when only O_RDONLY is used. Changing the open flag to
O_RDONLY|O_NONBLOCK, the call succeeds also for emtpy drives.
By the way, the cdrom header file in the kernel says explicitely,
that O_RDONLY|O_NONBLOCK should used whenever a cdrom is touched.
rocky: also made a change to eject to continue even if we can't get
the drive status -- which we can't with an empty CD-ROM drive.
_cdio_osx.c: fixup read_data_blocks. May have to complicate more if we
need to make a distinction between Form 1 and Form 2. Revise for
current name/variable conventions.
Should help with ISO 9660 reading. Add generic MMC READ_CD routine.
Warning - even more breakage in some situations. (But there's promise
of an overall brighter future.)
configure.ac: remove AIX driver for now - it doesn't really work
remove some (but not all) of the valgrind errors in cd-text
Some stylistic things, doxygen comment improvements typos, etc.
where an application may want to keep that pointer open.
All routines now are distinct from parnaoia routines with suitable
#defines for compatibility.
Reorganize directory structure for inclusion of cd-paranoia. Works for
GNU/Linux. Other OS's may be broken. Regression test output needs to
be adjusted too.
Move:
lib/driver (split off of lib)
lib/iso9660 (split off of lib)
Add from paranoia:
lib/cdda_interface
lib/paranoia
src/paranoia
Also made some small changes to capability indentification to show
more reading capabilties and show that.
cd-info now shows the total disc size.