diff options
author | Peter Alfredsen <loki_val@gentoo.org> | 2008-09-26 07:14:08 +0000 |
---|---|---|
committer | Peter Alfredsen <loki_val@gentoo.org> | 2008-09-26 07:14:08 +0000 |
commit | 84c13ccb464bd45a9ef6de198de97acba4514acd (patch) | |
tree | df327b29c1eaa000368cca4d0b229e49da66ac93 /media-sound/cdparanoia | |
parent | old (diff) | |
download | historical-84c13ccb464bd45a9ef6de198de97acba4514acd.tar.gz historical-84c13ccb464bd45a9ef6de198de97acba4514acd.tar.bz2 historical-84c13ccb464bd45a9ef6de198de97acba4514acd.zip |
Fix bug 238378. Thanks to Matthias Liebig <pqGungnir@gmx.de> and Ian Abbott <ian@abbott.org>.
Package-Manager: portage-2.2_rc9/cvs/Linux 2.6.25.8 i686
Diffstat (limited to 'media-sound/cdparanoia')
-rw-r--r-- | media-sound/cdparanoia/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/cdparanoia/Manifest | 15 | ||||
-rw-r--r-- | media-sound/cdparanoia/cdparanoia-3.10.2-r1.ebuild (renamed from media-sound/cdparanoia/cdparanoia-3.10.2.ebuild) | 16 | ||||
-rw-r--r-- | media-sound/cdparanoia/files/cdparanoia-3.10.2-gcc43.patch | 576 |
4 files changed, 597 insertions, 20 deletions
diff --git a/media-sound/cdparanoia/ChangeLog b/media-sound/cdparanoia/ChangeLog index 95ca88d27cc3..c1feadc58429 100644 --- a/media-sound/cdparanoia/ChangeLog +++ b/media-sound/cdparanoia/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-sound/cdparanoia # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/ChangeLog,v 1.87 2008/09/21 21:42:42 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/ChangeLog,v 1.88 2008/09/26 07:14:07 loki_val Exp $ + +*cdparanoia-3.10.2-r1 (26 Sep 2008) + + 26 Sep 2008; Peter Alfredsen <loki_val@gentoo.org> + +files/cdparanoia-3.10.2-gcc43.patch, -cdparanoia-3.10.2.ebuild, + +cdparanoia-3.10.2-r1.ebuild: + Fix bug 238378. Thanks to Matthias Liebig <pqGungnir@gmx.de> and Ian + Abbott <ian@abbott.org>. *cdparanoia-3.10.2 (21 Sep 2008) diff --git a/media-sound/cdparanoia/Manifest b/media-sound/cdparanoia/Manifest index 2e34e22e16ee..33be57ef81e7 100644 --- a/media-sound/cdparanoia/Manifest +++ b/media-sound/cdparanoia/Manifest @@ -1,7 +1,5 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX cdparanoia-3.10.2-Makefile.in.patch 3559 RMD160 86c0762fb313558a4756137616dac46e9feb75cc SHA1 ef421e719c1a696806669e70a353a4bc39953d5a SHA256 2335a43de616287cc0d70faac4debc093a7f597306d512e865a0ba4b333d1963 +AUX cdparanoia-3.10.2-gcc43.patch 21888 RMD160 090671ed3b6266f60120a074b3feed3d974ce36d SHA1 85097ce105cfd69ce566f20a6bdc498ec3912e38 SHA256 bc0942e77da2cc40b051ddaaddea9e88a2123e347fd0e57cbab9663c1e594d33 AUX cdparanoia-3.10.2-use-destdir.patch 2547 RMD160 a9faefb416ead6f19b529449e66dcf3cfd3c2606 SHA1 7200044af3d9e7cdfea1aa5d8cd599e824698aa4 SHA256 41b039b07a1f57271ef3a6587cc104b549e57f15281ee26172c994a8616aca64 AUX cdparanoia-3.10_pre0-Makefile.in.patch 3584 RMD160 10ac6ad1a8527fc5da86884cecbd7b7cd92c4900 SHA1 fc42f969bb256693608e4fe3722aedeb5073dc5a SHA256 7dd769f0aca16d6b7d83a07e3d76b64f2294b6ed0a6aeaa84fd0b7348369ffcb AUX cdparanoia-3.10_pre0-include-cdda_interface_h.patch 556 RMD160 42832206bf52a3629559d8090f57b3e74d64a421 SHA1 677c0c96de896277a2cf2ce811889e67c195af12 SHA256 c3dabd747091f2d3f2335f523b44a1ef5ab4b9c908fbd76b9d9feb5f40dd95f8 @@ -13,15 +11,8 @@ DIST cdparanoia-III-10.2.src.tgz 183236 RMD160 d6c4ea9cc4aa4d5bcca4985e668ea6142 DIST cdparanoia-III-10pre0.src.tgz 138783 RMD160 e06c86b74501326daab1210dfcef17e6a0449254 SHA1 e82fd5c2ba683b5788f7e13c6a1ed15c62d7bb30 SHA256 49bc647c0a255c654c6f175bcc50fde006b402c5372ab71be7bb7dcdc57b1e62 DIST cdparanoia-III-10pre2.src.tgz 172099 RMD160 47249f1eb544ff9792bbcbdfab4feefd5b349d2c SHA1 28715586aceacdc26dfa0038b48d01d47296fd54 SHA256 2fc4a9bc0a283af1cb7a9ce3173dab3938dff0fd05127ac610bb7532c0d28762 EBUILD cdparanoia-3.10.0.ebuild 1263 RMD160 6ede6de4796f78a3879095ce219e61c57fa87326 SHA1 4666d83a0e253ae3652fcda97a0d112f41e6499d SHA256 7294b6dd15b9ea5c5dc5bcd13299bf241ab95e2d995c3abfe43b00af025d5f3e -EBUILD cdparanoia-3.10.2.ebuild 1200 RMD160 fede9acab692fa10b008df6708edf8b5a83428cd SHA1 0d5ca9f7a8de076e9b6b7cd62d0cf2677d56deab SHA256 d7ffa056f2a8aa6bc5afc071af93d41f2839192574e17fc0d063c8130db856dc +EBUILD cdparanoia-3.10.2-r1.ebuild 1245 RMD160 91f1c3c290511416949be0a55039944a10899860 SHA1 700ded4e1bac89bee8085d0fd2984a66d9876ad0 SHA256 eb8e3af4b652191c500d3ee572d1bb1c44d141e95d0ba77f2cebab7c6cf3462b EBUILD cdparanoia-3.10_pre0-r1.ebuild 1377 RMD160 381708ae6058f61649bdbad0c0e1c29ff702de36 SHA1 51e75764fcf8edfb3edafce1acc49fdad62b55de SHA256 0974cc961d777c6f1e539d22fef6f2839873efe604b2f7c2a8b8224bd30aa669 EBUILD cdparanoia-3.10_pre2.ebuild 1291 RMD160 0184827c0f81e4ee7b12d2a0327b01a99eddb235 SHA1 886712392c03f33ed85c87347758df91829be19c SHA256 4176afda3455375d0b41a58196e61119a431ad80493cd2e5e8a6bdc06fc8be4c -MISC ChangeLog 13519 RMD160 df39e310d9e1047d6263787761f7787264408b15 SHA1 d1cc4caf0d3740a2e0310fd1f871fb68c16fe8e4 SHA256 6c4942ea83b2c98948e1aecc8cc01078010c287403ee27982fedda2a866ab0e1 +MISC ChangeLog 13807 RMD160 7b8241a1b410f652aa20b9c40588d61acef9bd37 SHA1 445c27452ee61e67fef69c2331f64b3aa937991b SHA256 eff7f7ab0e02cfcaac92d4da24c1c046e373e628d4670fe4c37118c5e53f6239 MISC metadata.xml 158 RMD160 6842e2189a50bd8a98e84802c38180ac1421c00e SHA1 703cea5a2109d41f7c87993c1f01d418a4c85174 SHA256 dfb5b47e6836db39fb187301dfcff1c2605e91d13d21db160806a563d8c75f9b ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAkjWv9gACgkQvFcC4BYPU0q27wCggo18aRyzAwkvbpkYESJeUMIH -eDoAoJVKgAqnv/zIU3yS+5P4A9XqBcBy -=tpNj ------END PGP SIGNATURE----- diff --git a/media-sound/cdparanoia/cdparanoia-3.10.2.ebuild b/media-sound/cdparanoia/cdparanoia-3.10.2-r1.ebuild index c90d2f0c8e10..cbeac09c8a5d 100644 --- a/media-sound/cdparanoia/cdparanoia-3.10.2.ebuild +++ b/media-sound/cdparanoia/cdparanoia-3.10.2-r1.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/cdparanoia-3.10.2.ebuild,v 1.1 2008/09/21 21:42:42 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/cdparanoia/cdparanoia-3.10.2-r1.ebuild,v 1.1 2008/09/26 07:14:07 loki_val Exp $ -inherit autotools eutils flag-o-matic libtool toolchain-funcs versionator +inherit base autotools eutils flag-o-matic libtool toolchain-funcs versionator MY_P=${PN}-III-$(get_version_component_range 2-3) @@ -17,14 +17,16 @@ IUSE="" S=${WORKDIR}/${MY_P} +PATCHES=( "${FILESDIR}/${PN}-3.10.2-use-destdir.patch" + "${FILESDIR}/${PN}-3.10.2-Makefile.in.patch" + "${FILESDIR}/${P}-gcc43.patch" ) + + + src_unpack() { - unpack ${A} + base_src_unpack cd "${S}" - epatch \ - "${FILESDIR}"/${PN}-3.10.2-use-destdir.patch \ - "${FILESDIR}"/${PN}-3.10.2-Makefile.in.patch - mv configure.guess config.guess mv configure.sub config.sub sed -i -e '/configure.\(guess\|sub\)/d' configure.in || die "sed failed." diff --git a/media-sound/cdparanoia/files/cdparanoia-3.10.2-gcc43.patch b/media-sound/cdparanoia/files/cdparanoia-3.10.2-gcc43.patch new file mode 100644 index 000000000000..7ca11c76ab7e --- /dev/null +++ b/media-sound/cdparanoia/files/cdparanoia-3.10.2-gcc43.patch @@ -0,0 +1,576 @@ +diff -urp cdparanoia-III-10.2.orig/interface/cdda_interface.h cdparanoia-III-10.2/interface/cdda_interface.h +--- cdparanoia-III-10.2.orig/interface/cdda_interface.h 2008-09-11 11:43:52.000000000 +0100 ++++ cdparanoia-III-10.2/interface/cdda_interface.h 2008-09-25 00:18:02.000000000 +0100 +@@ -84,7 +84,7 @@ typedef struct cdrom_drive{ + int is_atapi; + int is_mmc; + +- cdda_private_data_t *private; ++ cdda_private_data_t *private_data; + void *reserved; + unsigned char inqbytes[4]; + +diff -urp cdparanoia-III-10.2.orig/interface/cooked_interface.c cdparanoia-III-10.2/interface/cooked_interface.c +--- cdparanoia-III-10.2.orig/interface/cooked_interface.c 2008-08-26 10:55:22.000000000 +0100 ++++ cdparanoia-III-10.2/interface/cooked_interface.c 2008-09-25 00:19:21.000000000 +0100 +@@ -13,13 +13,13 @@ + static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){ + struct timespec tv1; + struct timespec tv2; +- int ret1=clock_gettime(d->private->clock,&tv1); ++ int ret1=clock_gettime(d->private_data->clock,&tv1); + int ret2=ioctl(fd, command,arg); +- int ret3=clock_gettime(d->private->clock,&tv2); ++ int ret3=clock_gettime(d->private_data->clock,&tv2); + if(ret1<0 || ret3<0){ +- d->private->last_milliseconds=-1; ++ d->private_data->last_milliseconds=-1; + }else{ +- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; ++ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; + } + return ret2; + } +diff -urp cdparanoia-III-10.2.orig/interface/interface.c cdparanoia-III-10.2/interface/interface.c +--- cdparanoia-III-10.2.orig/interface/interface.c 2008-09-11 11:43:52.000000000 +0100 ++++ cdparanoia-III-10.2/interface/interface.c 2008-09-25 00:19:47.000000000 +0100 +@@ -39,9 +39,9 @@ int cdda_close(cdrom_drive *d){ + if(d->drive_model)free(d->drive_model); + if(d->cdda_fd!=-1)close(d->cdda_fd); + if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd); +- if(d->private){ +- if(d->private->sg_hd)free(d->private->sg_hd); +- free(d->private); ++ if(d->private_data){ ++ if(d->private_data->sg_hd)free(d->private_data->sg_hd); ++ free(d->private_data); + } + + free(d); +@@ -127,7 +127,7 @@ long cdda_read_timed(cdrom_drive *d, voi + } + } + } +- if(ms)*ms=d->private->last_milliseconds; ++ if(ms)*ms=d->private_data->last_milliseconds; + return(sectors); + } + +diff -urp cdparanoia-III-10.2.orig/interface/scan_devices.c cdparanoia-III-10.2/interface/scan_devices.c +--- cdparanoia-III-10.2.orig/interface/scan_devices.c 2008-08-26 10:55:22.000000000 +0100 ++++ cdparanoia-III-10.2/interface/scan_devices.c 2008-09-25 00:20:35.000000000 +0100 +@@ -264,11 +264,11 @@ cdrom_drive *cdda_identify_cooked(const + d->interface=COOKED_IOCTL; + d->bigendianp=-1; /* We don't know yet... */ + d->nsectors=-1; +- d->private=calloc(1,sizeof(*d->private)); ++ d->private_data=calloc(1,sizeof(*d->private_data)); + { + /* goddamnit */ + struct timespec tv; +- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); ++ d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); + } + idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description); + return(d); +@@ -674,15 +674,15 @@ cdrom_drive *cdda_identify_scsi(const ch + d->bigendianp=-1; /* We don't know yet... */ + d->nsectors=-1; + d->messagedest = messagedest; +- d->private=calloc(1,sizeof(*d->private)); ++ d->private_data=calloc(1,sizeof(*d->private_data)); + { + /* goddamnit */ + struct timespec tv; +- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); ++ d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); + } + if(use_sgio){ + d->interface=SGIO_SCSI; +- d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE)); ++ d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE)); + g_fd=d->cdda_fd=dup(d->ioctl_fd); + }else{ + version=verify_SG_version(d,messagedest,messages); +@@ -696,8 +696,8 @@ cdrom_drive *cdda_identify_scsi(const ch + } + + /* malloc our big buffer for scsi commands */ +- d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE); +- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF; ++ d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE); ++ d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF; + } + + { +@@ -772,9 +772,9 @@ cdda_identify_scsi_fail: + if(i_fd!=-1)close(i_fd); + if(g_fd!=-1)close(g_fd); + if(d){ +- if(d->private){ +- if(d->private->sg_hd)free(d->private->sg_hd); +- free(d->private); ++ if(d->private_data){ ++ if(d->private_data->sg_hd)free(d->private_data->sg_hd); ++ free(d->private_data); + } + free(d); + } +@@ -821,7 +821,7 @@ cdrom_drive *cdda_identify_test(const ch + d->interface=TEST_INTERFACE; + d->bigendianp=-1; /* We don't know yet... */ + d->nsectors=-1; +- d->private=calloc(1,sizeof(*d->private)); ++ d->private_data=calloc(1,sizeof(*d->private_data)); + d->drive_model=copystring("File based test interface"); + idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model); + +diff -urp cdparanoia-III-10.2.orig/interface/scsi_interface.c cdparanoia-III-10.2/interface/scsi_interface.c +--- cdparanoia-III-10.2.orig/interface/scsi_interface.c 2008-09-11 21:33:30.000000000 +0100 ++++ cdparanoia-III-10.2/interface/scsi_interface.c 2008-09-25 00:22:40.000000000 +0100 +@@ -15,13 +15,13 @@ + static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){ + struct timespec tv1; + struct timespec tv2; +- int ret1=clock_gettime(d->private->clock,&tv1); ++ int ret1=clock_gettime(d->private_data->clock,&tv1); + int ret2=ioctl(fd, command,arg); +- int ret3=clock_gettime(d->private->clock,&tv2); ++ int ret3=clock_gettime(d->private_data->clock,&tv2); + if(ret1<0 || ret3<0){ +- d->private->last_milliseconds=-1; ++ d->private_data->last_milliseconds=-1; + }else{ +- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; ++ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; + } + return ret2; + } +@@ -96,7 +96,7 @@ static void tweak_SG_buffer(cdrom_drive + static void clear_garbage(cdrom_drive *d){ + fd_set fdset; + struct timeval tv; +- struct sg_header *sg_hd=d->private->sg_hd; ++ struct sg_header *sg_hd=d->private_data->sg_hd; + int flag=0; + + /* clear out any possibly preexisting garbage */ +@@ -185,7 +185,7 @@ static int sg2_handle_scsi_cmd(cdrom_dri + struct timespec tv2; + int tret1,tret2; + int status = 0; +- struct sg_header *sg_hd=d->private->sg_hd; ++ struct sg_header *sg_hd=d->private_data->sg_hd; + long writebytes=SG_OFF+cmd_len+in_size; + + /* generic scsi device services */ +@@ -195,7 +195,7 @@ static int sg2_handle_scsi_cmd(cdrom_dri + + memset(sg_hd,0,sizeof(sg_hd)); + memset(sense_buffer,0,SG_MAX_SENSE); +- memcpy(d->private->sg_buffer,cmd,cmd_len+in_size); ++ memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size); + sg_hd->twelve_byte = cmd_len == 12; + sg_hd->result = 0; + sg_hd->reply_len = SG_OFF + out_size; +@@ -209,7 +209,7 @@ static int sg2_handle_scsi_cmd(cdrom_dri + tell if the command failed. Scared yet? */ + + if(bytecheck && out_size>in_size){ +- memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); ++ memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); + /* the size does not remove cmd_len due to the way the kernel + driver copies buffers */ + writebytes+=(out_size-in_size); +@@ -243,7 +243,7 @@ static int sg2_handle_scsi_cmd(cdrom_dri + } + + sigprocmask (SIG_BLOCK, &(d->sigset), NULL ); +- tret1=clock_gettime(d->private->clock,&tv1); ++ tret1=clock_gettime(d->private_data->clock,&tv1); + errno=0; + status = write(d->cdda_fd, sg_hd, writebytes ); + +@@ -289,7 +289,7 @@ static int sg2_handle_scsi_cmd(cdrom_dri + } + } + +- tret2=clock_gettime(d->private->clock,&tv2); ++ tret2=clock_gettime(d->private_data->clock,&tv2); + errno=0; + status = read(d->cdda_fd, sg_hd, SG_OFF + out_size); + sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL ); +@@ -313,7 +313,7 @@ static int sg2_handle_scsi_cmd(cdrom_dri + if(bytecheck && in_size+cmd_len<out_size){ + long i,flag=0; + for(i=in_size;i<out_size;i++) +- if(d->private->sg_buffer[i]!=bytefill){ ++ if(d->private_data->sg_buffer[i]!=bytefill){ + flag=1; + break; + } +@@ -326,9 +326,9 @@ static int sg2_handle_scsi_cmd(cdrom_dri + + errno=0; + if(tret1<0 || tret2<0){ +- d->private->last_milliseconds=-1; ++ d->private_data->last_milliseconds=-1; + }else{ +- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000; ++ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000; + } + return(0); + } +@@ -347,7 +347,7 @@ static int sgio_handle_scsi_cmd(cdrom_dr + + memset(&hdr,0,sizeof(hdr)); + memset(sense,0,sizeof(sense)); +- memcpy(d->private->sg_buffer,cmd+cmd_len,in_size); ++ memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size); + + hdr.cmdp = cmd; + hdr.cmd_len = cmd_len; +@@ -355,7 +355,7 @@ static int sgio_handle_scsi_cmd(cdrom_dr + hdr.mx_sb_len = SG_MAX_SENSE; + hdr.timeout = 50000; + hdr.interface_id = 'S'; +- hdr.dxferp = d->private->sg_buffer; ++ hdr.dxferp = d->private_data->sg_buffer; + hdr.flags = SG_FLAG_DIRECT_IO; /* direct IO if we can get it */ + + /* scary buffer fill hack */ +@@ -400,7 +400,7 @@ static int sgio_handle_scsi_cmd(cdrom_dr + if(bytecheck && in_size<out_size){ + long i,flag=0; + for(i=in_size;i<out_size;i++) +- if(d->private->sg_buffer[i]!=bytefill){ ++ if(d->private_data->sg_buffer[i]!=bytefill){ + flag=1; + break; + } +@@ -412,7 +412,7 @@ static int sgio_handle_scsi_cmd(cdrom_dr + } + + /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */ +- /* d->private->last_milliseconds = hdr.duration; */ ++ /* d->private_data->last_milliseconds = hdr.duration; */ + + errno = 0; + return 0; +@@ -445,9 +445,9 @@ static int test_unit_ready(cdrom_drive * + + handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense); + +- key = d->private->sg_buffer[2] & 0xf; +- ASC = d->private->sg_buffer[12]; +- ASCQ = d->private->sg_buffer[13]; ++ key = d->private_data->sg_buffer[2] & 0xf; ++ ASC = d->private_data->sg_buffer[12]; ++ ASCQ = d->private_data->sg_buffer[13]; + + if(key == 2 && ASC == 4 && ASCQ == 1) return 0; + return 1; +@@ -492,7 +492,7 @@ static int mode_sense_atapi(cdrom_drive + if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1); + + { +- unsigned char *b=d->private->sg_buffer; ++ unsigned char *b=d->private_data->sg_buffer; + if(b[0])return(1); /* Handles only up to 256 bytes */ + if(b[6])return(1); /* Handles only up to 256 bytes */ + +@@ -604,8 +604,8 @@ static int mode_select(cdrom_drive *d,in + static unsigned int get_orig_sectorsize(cdrom_drive *d){ + if(mode_sense(d,12,0x01))return(-1); + +- d->orgdens = d->private->sg_buffer[4]; +- return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]); ++ d->orgdens = d->private_data->sg_buffer[4]; ++ return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]); + } + + /* switch CDROM scsi drives to given sector size */ +@@ -664,8 +664,8 @@ static int scsi_read_toc (cdrom_drive *d + return(-4); + } + +- first=d->private->sg_buffer[2]; +- last=d->private->sg_buffer[3]; ++ first=d->private_data->sg_buffer[2]; ++ last=d->private_data->sg_buffer[3]; + tracks=last-first+1; + + if (last > MAXTRK || first > MAXTRK || last<0 || first<0) { +@@ -683,7 +683,7 @@ static int scsi_read_toc (cdrom_drive *d + return(-5); + } + { +- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4); ++ scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4); + + d->disc_toc[i-first].bFlags=toc->bFlags; + d->disc_toc[i-first].bTrack=i; +@@ -704,7 +704,7 @@ static int scsi_read_toc (cdrom_drive *d + return(-2); + } + { +- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4); ++ scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4); + + d->disc_toc[i-first].bFlags=toc->bFlags; + d->disc_toc[i-first].bTrack=0xAA; +@@ -738,7 +738,7 @@ static int scsi_read_toc2 (cdrom_drive * + } + + /* copy to our structure and convert start sector */ +- tracks = d->private->sg_buffer[1]; ++ tracks = d->private_data->sg_buffer[1]; + if (tracks > MAXTRK) { + cderror(d,"003: CDROM reporting illegal number of tracks\n"); + return(-3); +@@ -754,33 +754,33 @@ static int scsi_read_toc2 (cdrom_drive * + return(-5); + } + +- d->disc_toc[i].bFlags = d->private->sg_buffer[10]; ++ d->disc_toc[i].bFlags = d->private_data->sg_buffer[10]; + d->disc_toc[i].bTrack = i + 1; + + d->disc_toc[i].dwStartSector= d->adjust_ssize * +- (((signed char)(d->private->sg_buffer[2])<<24) | +- (d->private->sg_buffer[3]<<16)| +- (d->private->sg_buffer[4]<<8)| +- (d->private->sg_buffer[5])); ++ (((signed char)(d->private_data->sg_buffer[2])<<24) | ++ (d->private_data->sg_buffer[3]<<16)| ++ (d->private_data->sg_buffer[4]<<8)| ++ (d->private_data->sg_buffer[5])); + } + + d->disc_toc[i].bFlags = 0; + d->disc_toc[i].bTrack = i + 1; +- memcpy (&foo, d->private->sg_buffer+2, 4); +- memcpy (&bar, d->private->sg_buffer+6, 4); ++ memcpy (&foo, d->private_data->sg_buffer+2, 4); ++ memcpy (&bar, d->private_data->sg_buffer+6, 4); + d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) + + be32_to_cpu(bar)); + + d->disc_toc[i].dwStartSector= d->adjust_ssize * +- ((((signed char)(d->private->sg_buffer[2])<<24) | +- (d->private->sg_buffer[3]<<16)| +- (d->private->sg_buffer[4]<<8)| +- (d->private->sg_buffer[5]))+ ++ ((((signed char)(d->private_data->sg_buffer[2])<<24) | ++ (d->private_data->sg_buffer[3]<<16)| ++ (d->private_data->sg_buffer[4]<<8)| ++ (d->private_data->sg_buffer[5]))+ + +- ((((signed char)(d->private->sg_buffer[6])<<24) | +- (d->private->sg_buffer[7]<<16)| +- (d->private->sg_buffer[8]<<8)| +- (d->private->sg_buffer[9])))); ++ ((((signed char)(d->private_data->sg_buffer[6])<<24) | ++ (d->private_data->sg_buffer[7]<<16)| ++ (d->private_data->sg_buffer[8]<<8)| ++ (d->private_data->sg_buffer[9])))); + + + d->cd_extra = FixupTOC(d,tracks+1); +@@ -817,7 +817,7 @@ static int i_read_28 (cdrom_drive *d, vo + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -836,7 +836,7 @@ static int i_read_A8 (cdrom_drive *d, vo + cmd[9] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -854,7 +854,7 @@ static int i_read_D4_10 (cdrom_drive *d, + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -872,7 +872,7 @@ static int i_read_D4_12 (cdrom_drive *d, + cmd[9] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -890,7 +890,7 @@ static int i_read_D5 (cdrom_drive *d, vo + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -908,7 +908,7 @@ static int i_read_D8 (cdrom_drive *d, vo + cmd[9] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -922,7 +922,7 @@ static int i_read_mmc (cdrom_drive *d, v + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -936,7 +936,7 @@ static int i_read_mmcB (cdrom_drive *d, + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -950,7 +950,7 @@ static int i_read_mmc2 (cdrom_drive *d, + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -964,7 +964,7 @@ static int i_read_mmc2B (cdrom_drive *d, + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -978,7 +978,7 @@ static int i_read_mmc3 (cdrom_drive *d, + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -992,7 +992,7 @@ static int i_read_mmc3B (cdrom_drive *d, + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1026,7 +1026,7 @@ static int i_read_msf (cdrom_drive *d, v + + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1039,7 +1039,7 @@ static int i_read_msf2 (cdrom_drive *d, + + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1052,7 +1052,7 @@ static int i_read_msf3 (cdrom_drive *d, + + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1275,7 +1275,7 @@ long scsi_read_msf3 (cdrom_drive *d, voi + static int count_2352_bytes(cdrom_drive *d){ + long i; + for(i=2351;i>=0;i--) +- if(d->private->sg_buffer[i]!=(unsigned char)'\177') ++ if(d->private_data->sg_buffer[i]!=(unsigned char)'\177') + return(((i+3)>>2)<<2); + + return(0); +@@ -1284,7 +1284,7 @@ static int count_2352_bytes(cdrom_drive + static int verify_nonzero(cdrom_drive *d){ + long i,flag=0; + for(i=0;i<2352;i++) +- if(d->private->sg_buffer[i]!=0){ ++ if(d->private_data->sg_buffer[i]!=0){ + flag=1; + break; + } +@@ -1625,7 +1625,7 @@ static int check_mmc(cdrom_drive *d){ + d->is_mmc=0; + if(mode_sense(d,22,0x2A)==0){ + +- b=d->private->sg_buffer; ++ b=d->private_data->sg_buffer; + b+=b[3]+4; + + if((b[0]&0x3F)==0x2A){ +@@ -1673,7 +1673,7 @@ unsigned char *scsi_inquiry(cdrom_drive + cderror(d,"008: Unable to identify CDROM model\n"); + return(NULL); + } +- return (d->private->sg_buffer); ++ return (d->private_data->sg_buffer); + } + + int scsi_init_drive(cdrom_drive *d){ +@@ -1742,8 +1742,8 @@ int scsi_init_drive(cdrom_drive *d){ + check_cache(d); + + d->error_retry=1; +- d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128); +- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF; ++ d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128); ++ d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF; + d->report_all=1; + return(0); + } +diff -urp cdparanoia-III-10.2.orig/interface/test_interface.c cdparanoia-III-10.2/interface/test_interface.c +--- cdparanoia-III-10.2.orig/interface/test_interface.c 2008-09-11 21:33:30.000000000 +0100 ++++ cdparanoia-III-10.2/interface/test_interface.c 2008-09-25 00:22:46.000000000 +0100 +@@ -66,9 +66,9 @@ static long test_read(cdrom_drive *d, vo + if(!fd)fd=fdopen(d->cdda_fd,"r"); + + if(begin<lastread) +- d->private->last_milliseconds=20; ++ d->private_data->last_milliseconds=20; + else +- d->private->last_milliseconds=sectors; ++ d->private_data->last_milliseconds=sectors; + + #ifdef CDDA_TEST_UNDERRUN + sectors-=1; |