libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Libcdio-devel] libcdio release around the ides of March? (March 15


From: R. Bernstein
Subject: RE: [Libcdio-devel] libcdio release around the ides of March? (March 15)
Date: Mon, 3 Mar 2008 13:15:40 -0500 (EST)
User-agent: SquirrelMail/1.4.13

Sorry. The NRG image that fails is svcdgs.nrg . It is 15MB so I never
checked it into CVS. When libcdio was on savannah.nongnu.org, there was a
tarball that contained these test images. Alas, I don't see that file any
more. I've just put it at
http://bashdb.sf.net/svcdgs.nrg

I got this a long time ago off of a site that used it as a test SVCD so I
assumed it is/was a valid NRG image.

> I tried to run check_nrg.sh but the monvoisin.nrg is not in libcdio/test/;
> otherwise, the test results are the same before and after nrg.c
> modification--"cd-info NRG test 1 ok." before "Don't see NRG file
> [snap]/libcdio/test/monvoisin.nrg. Test skipped." Here is the repository I
> used:
>
> :pserver:address@hidden:/sources/libcdio
>
> Please let me know how I should move the regression forward.
>
>> From: address@hidden
>> Date: Mon, 3 Mar 2008 07:17:13 -0500
>> To: address@hidden
>> CC: address@hidden
>> Subject: RE: [Libcdio-devel] libcdio release around the ides of March?
>> (March 15)
>>
>> I tried applying the patch. Unfortunately it causes test/check_nrg.sh
>> to fail because it turns what it thought was a VCD disk into an audio
>> disk. If you can figure out a way to reconcile this, and come up with
>> a regression test (in libcdio/test) that works on both the old
>> existing NRG image and tests your changes, I'd like to apply your
>> changes. Thanks.
>>
>> As for the info_file=strdup(info_file), yes it doesn't look used. I've
>> removed the --output-info (-i) option altogether. Perhaps the intent
>> was similar to the newly added --log-summary option.
>>
>> Huang William writes:
>>  > Hi,
>>  >
>>  > I would like to contribute the enclosed to diffs for
>> lib/driver/image/nrg.c and src/cd-paranoia/cd-paranoia.c so I can rip
>> CDDA tracks contained in NRG image files without using a CD drive
>> emulator. The nrg.c needs to recognize the size of sectors to be 2352
>> (98 * 24) bytes when NRG CUEX says that a track is of audio type. The
>> cd-paranoia.c needs an option (I choose -N tentatively) for users to
>> pass the NRG image file name to the tool. I found the cd-paranoia.c
>> statement info_file=strdup(info_file); illogical but did not touch
>> it. Please let me know how I should proceed.
>>  >
>>  > Thanks,
>>  >
>>  > Chekgiau Ng
>>  > -------
>>  >
>>  > Index: nrg.c
>>  > ===================================================================
>>  > RCS file: /sources/libcdio/libcdio/lib/driver/image/nrg.c,v
>>  > retrieving revision 1.24
>>  > diff -c -r1.24 nrg.c
>>  > *** nrg.c    27 Feb 2006 10:23:52 -0000    1.24
>>  > --- nrg.c    3 Mar 2008 08:35:02 -0000
>>  > ***************
>>  > *** 311,317 ****
>>  >
>>  >             sec_count = UINT32_FROM_BE (_entries[idx + 1].lsn);
>>  >
>>  > !           _register_mapping (p_env, lsn, sec_count*2,
>>  >                    (lsn+CDIO_PREGAP_SECTORS) * M2RAW_SECTOR_SIZE,
>>  >                    M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);
>>  >           }
>>  > --- 311,322 ----
>>  >
>>  >             sec_count = UINT32_FROM_BE (_entries[idx + 1].lsn);
>>  >
>>  > !               if ((_entries[idx].type & 0x0f) == 0x01)
>>  > !                 _register_mapping (p_env, lsn, sec_count - lsn,
>>  > !                   (lsn +
>> CDIO_PREGAP_SECTORS)*CDIO_CD_FRAMESIZE_RAW,
>>  > !                   CDIO_CD_FRAMESIZE_RAW, TRACK_FORMAT_AUDIO,
>> true);
>>  > !               else
>>  > !             _register_mapping (p_env, lsn, sec_count*2,
>>  >                    (lsn+CDIO_PREGAP_SECTORS) * M2RAW_SECTOR_SIZE,
>>  >                    M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);
>>  >           }
>>  > ***************
>>  > *** 360,366 ****
>>  >             lsn       = UINT32_FROM_BE (_entries[idx].lsn);
>>  >             sec_count = UINT32_FROM_BE (_entries[idx + 1].lsn);
>>  >
>>  > !           _register_mapping (p_env, lsn, sec_count - lsn,
>>  >                    (lsn + CDIO_PREGAP_SECTORS)*M2RAW_SECTOR_SIZE,
>>  >                    M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);
>>  >           }
>>  > --- 365,376 ----
>>  >             lsn       = UINT32_FROM_BE (_entries[idx].lsn);
>>  >             sec_count = UINT32_FROM_BE (_entries[idx + 1].lsn);
>>  >
>>  > !               if ((_entries[idx].type & 0x0f) == 0x01)
>>  > !                 _register_mapping (p_env, lsn, sec_count - lsn,
>>  > !                   (lsn +
>> CDIO_PREGAP_SECTORS)*CDIO_CD_FRAMESIZE_RAW,
>>  > !                   CDIO_CD_FRAMESIZE_RAW, TRACK_FORMAT_AUDIO,
>> true);
>>  > !               else
>>  > !             _register_mapping (p_env, lsn, sec_count - lsn,
>>  >                    (lsn + CDIO_PREGAP_SECTORS)*M2RAW_SECTOR_SIZE,
>>  >                    M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);
>>  >           }
>>  >
>>  > Index: cd-paranoia.c
>>  > ===================================================================
>>  > RCS file: /sources/libcdio/libcdio/src/cd-paranoia/cd-paranoia.c,v
>>  > retrieving revision 1.34
>>  > diff -c -r1.34 cd-paranoia.c
>>  > *** cd-paranoia.c    29 Feb 2008 11:34:15 -0000    1.34
>>  > --- cd-paranoia.c    3 Mar 2008 08:35:43 -0000
>>  > ***************
>>  > *** 547,553 ****
>>  >   }
>>  >   #endif /* !TRACE_PARANOIA */
>>  >
>>  > ! const char *optstring =
>> "aBcCd:efg:hi:l:m:n:o:O:pqQrRsS:Tt:VvwWx:XYZz::";
>>  >
>>  >   struct option options [] = {
>>  >       {"abort-on-skip",             no_argument,       NULL, 'X'},
>>  > --- 547,553 ----
>>  >   }
>>  >   #endif /* !TRACE_PARANOIA */
>>  >
>>  > ! const char *optstring =
>> "aBcCd:efg:hi:l:m:N:n:o:O:pqQrRsS:Tt:VvwWx:XYZz::";
>>  >
>>  >   struct option options [] = {
>>  >       {"abort-on-skip",             no_argument,       NULL, 'X'},
>>  > ***************
>>  > *** 562,567 ****
>>  > --- 562,568 ----
>>  >       {"force-generic-device",      required_argument, NULL, 'g'},
>>  >       {"force-read-speed",          required_argument, NULL, 'S'},
>>  >       {"force-search-overlap",      required_argument, NULL, 'o'},
>>  > +         {"load-nrg-image",            required_argument, NULL,
>> 'N'},
>>  >       {"help",                      no_argument,       NULL, 'h'},
>>  >        {"log-summary",               required_argument, NULL, 'l'},
>>  >       {"mmc-timeout",               required_argument, NULL, 'm'},
>>  > ***************
>>  > *** 592,597 ****
>>  > --- 593,599 ----
>>  >   static char             *span     = NULL;
>>  >   static char *force_cdrom_device   = NULL;
>>  >   static char *info_file            = NULL;
>>  > + static char *nrg_image_file       = NULL;
>>  >
>>  >   #define free_and_null(p) \
>>  >     free(p);         \
>>  > ***************
>>  > *** 619,624 ****
>>  > --- 621,627 ----
>>  >     free_and_null(force_cdrom_device);
>>  >     free_and_null(span);
>>  >     free_and_null(info_file);
>>  > +   free_and_null(nrg_image_file);
>>  >     if(logfile && logfile != stdout) {
>>  >         fclose(logfile);
>>  >         logfile = NULL;
>>  > ***************
>>  > *** 686,691 ****
>>  > --- 689,696 ----
>>  >     int search=0;
>>  >     int c,long_option_index;
>>  >
>>  > +   CdIo_t *p_cdio=NULL;
>>  > +
>>  >     atexit(cleanup);
>>  >
>>  >     
>> while((c=getopt_long(argc,argv,optstring,options,&long_option_index))!=EOF){
>>  > ***************
>>  > *** 756,761 ****
>>  > --- 761,770 ----
>>  >       case 'n':
>>  >         get_int_arg(c, &force_cdrom_sectors);
>>  >         break;
>>  > +     case 'N':
>>  > +       if(nrg_image_file)free(nrg_image_file);
>>  > +       nrg_image_file=strdup(optarg);
>>  > +       break;
>>  >       case 'o':
>>  >         get_int_arg(c, &force_cdrom_overlap);
>>  >         break;
>>  > ***************
>>  > *** 861,871 ****
>>  >     }else
>>  >       if (argv[optind]) span=strdup(argv[optind]);
>>  >
>>  >     report(PARANOIA_VERSION);
>>  >
>>  >     /* Query the cdrom/disc; we may need to override some settings
>> */
>>  >
>>  > !   if(force_cdrom_device)
>>  >       d=cdda_identify(force_cdrom_device,verbose,NULL);
>>  >     else {
>>  >       driver_id_t driver_id;
>>  > --- 870,890 ----
>>  >     }else
>>  >       if (argv[optind]) span=strdup(argv[optind]);
>>  >
>>  > +   if(nrg_image_file) {
>>  > +     p_cdio=cdio_open_nrg(nrg_image_file);
>>  > +     if(!p_cdio) {
>>  > +       fprintf(stderr,"Cannot open image file %s as source.",
>> nrg_image_file);
>>  > +       exit(1);
>>  > +     }
>>  > +   }
>>  > +
>>  >     report(PARANOIA_VERSION);
>>  >
>>  >     /* Query the cdrom/disc; we may need to override some settings
>> */
>>  >
>>  > !   if(p_cdio)
>>  > !     d=cdio_cddap_identify_cdio(p_cdio,verbose,NULL);
>>  > !   else if(force_cdrom_device)
>>  >       d=cdda_identify(force_cdrom_device,verbose,NULL);
>>  >     else {
>>  >       driver_id_t driver_id;
>>  >
>>  >
>>  >
>>  > > From: address@hidden
>>  > > Date: Thu, 28 Feb 2008 18:01:19 -0500
>>  > > To: address@hidden
>>  > > CC: address@hidden
>>  > > Subject: [Libcdio-devel] libcdio release around the ides of March?
>> (March 15)
>>  > >
>>  > > I've been thinking about making another release to clear out the
>>  > > security bugs that have been reported and fixed in CVS. Also, it
>> might
>>  > > pave the way for a GPL 2 to GPL 3 down the line. (Previously the
>>  > > observation was made that one shouldn't tie security fixes with a
>>  > > license change).
>>  > >
>>  > > A couple of people suggested a possibility of some other additions
>> to
>>  > > libcdio. For example Robert William Fuller suggested adding gap
>>  > > detection via MMC commands, but I gather this has all been rolled
>> into
>>  > > cued, right?
>>  > >
>>  > > So right now unless there's reason not to, I'm shooting for a
>> March
>>  > > 15th release. Comments?
>>  > >
>>  > >
>>  >
>>  > _________________________________________________________________
>>  > 
>> ¥Î³¡¸¨®æ¤À¨É·Ó¤ù¡B¼v­µ¡B½ì¨ý¤p¤u¨ã©M³Ì·R²M³æ¡AºÉ±¡¨q¥X§A¦Û¤v
>> ¡X Windows Live Spaces
>>  > http://spaces.live.com/<html>
>>  > <head>
>>  > <style>
>>  > .hmmessage P
>>  > {
>>  > margin:0px;
>>  > padding:0px
>>  > }
>>  > body.hmmessage
>>  > {
>>  > FONT-SIZE: 9pt;
>>  > FONT-FAMILY:Tahoma
>>  > }
>>  > </style>
>>  > </head>
>>  > <body class='hmmessage'>Hi,<br><br>I would like to contribute the
>> enclosed to diffs for lib/driver/image/nrg.c and
>> src/cd-paranoia/cd-paranoia.c so I can rip CDDA tracks contained in
>> NRG image files without using a CD drive emulator. The nrg.c needs to
>> recognize the size of sectors to be 2352 (98 * 24) bytes when NRG
>> CUEX says that a track is of audio type. The cd-paranoia.c needs an
>> option (I choose -N tentatively) for users to pass the NRG image file
>> name to the tool. I found the cd-paranoia.c statement <span
>> style="font-weight: bold;">info_file=strdup(info_file);</span>
>> illogical but did not touch it. Please let me know how I should
>> proceed.<br><br>Thanks,<br><br>Chekgiau Ng<br>-------<br><br>Index:
>> nrg.c<br>===================================================================<br>RCS
>> file: /sources/libcdio/libcdio/lib/driver/image/nrg.c,v<br>retrieving
>> revision 1.24<br>diff -c -r1.24 nrg.c<br>*** nrg.c&nbsp;&nbsp;&nbsp;
>> 27 Feb 2006 10:23:52 -0000&nbsp;&nbsp;&nbsp; 1.24<br>--
>>  >  - nrg.c&nbsp;&nbsp;&nbsp; 3 Mar 2008 08:35:02
>> -0000<br>***************<br>*** 311,317 ****<br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sec_count =
>> UINT32_FROM_BE (_entries[idx + 1].lsn);<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>! &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _register_mapping (p_env, lsn,
>> sec_count*2, <br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;(lsn+CDIO_PREGAP_SECTORS) * M2RAW_SECTOR_SIZE,<br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA,
>> true);<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>---
>> 311,322 ----<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sec_count = UINT32_FROM_BE
>> (_entries[idx + 1].lsn);<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;
>>  >  &nbsp;&nbsp;
>> <br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> if ((_entries[idx].type &amp; 0x0f) ==
>> 0x01)<br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> _register_mapping (p_env, lsn, sec_count - lsn,
>> <br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> (lsn +
>> CDIO_PREGAP_SECTORS)*CDIO_CD_FRAMESIZE_RAW,<br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> CDIO_CD_FRAMESIZE_RAW, TRACK_FORMAT_AUDIO,
>> true);<br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> else<br>! &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _register_mapping (p_env,
>> lsn, sec_count*2, <br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;(lsn+CDIO_PREGAP_SECTORS) * M2RAW_SECTOR_SIZE,<br>&nbsp;
>> &nbsp;&nb
>>  >  sp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);<br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>***************<br>***
>> 360,366 ****<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> lsn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = UINT32_FROM_BE
>> (_entries[idx].lsn);<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sec_count = UINT32_FROM_BE
>> (_entries[idx + 1].lsn);<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>! &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _register_mapping (p_env, lsn,
>> sec_count - lsn, <br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;(lsn +
>> CDIO_PREGAP_SECTORS)*M2RAW_SECTOR_SIZE,<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);<br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>--- 365,376
>> ----<br>&nbsp; &nbsp;&nbsp;&nb
>>  >  sp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> lsn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = UINT32_FROM_BE
>> (_entries[idx].lsn);<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sec_count = UINT32_FROM_BE
>> (_entries[idx + 1].lsn);<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> <br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> if ((_entries[idx].type &amp; 0x0f) ==
>> 0x01)<br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> _register_mapping (p_env, lsn, sec_count - lsn,
>> <br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> (lsn +
>> CDIO_PREGAP_SECTORS)*CDIO_CD_FRAMESIZE_RAW,<br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> CDIO_CD_FRAMESIZE_RAW, TRACK_FORMAT_AUDIO,
>> true);<br>!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> els
>>  >  e<br>! &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> _register_mapping (p_env, lsn, sec_count - lsn, <br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;(lsn +
>> CDIO_PREGAP_SECTORS)*M2RAW_SECTOR_SIZE,<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> &nbsp;M2RAW_SECTOR_SIZE, TRACK_FORMAT_XA, true);<br>&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br><br>Index:
>> cd-paranoia.c<br>===================================================================<br>RCS
>> file:
>> /sources/libcdio/libcdio/src/cd-paranoia/cd-paranoia.c,v<br>retrieving
>> revision 1.34<br>diff -c -r1.34 cd-paranoia.c<br>***
>> cd-paranoia.c&nbsp;&nbsp;&nbsp; 29 Feb 2008 11:34:15
>> -0000&nbsp;&nbsp;&nbsp; 1.34<br>--- cd-paranoia.c&nbsp;&nbsp;&nbsp;
>> 3 Mar 2008 08:35:43 -0000<br>***************<br>*** 547,553
>> ****<br>&nbsp; }<br>&nbsp; #endif /* !TRACE_PARANOIA */<br>&nbsp;
>> <br>! const char *optstring = "aBcCd:efg:hi:l:m:n:o:O:pqQrRsS:Tt
>>  >  :VvwWx:XYZz::";<br>&nbsp; <br>&nbsp; struct option options [] =
>> {<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"abort-on-skip",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> no_argument,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL, 'X'},<br>---
>> 547,553 ----<br>&nbsp; }<br>&nbsp; #endif /* !TRACE_PARANOIA
>> */<br>&nbsp; <br>! const char *optstring =
>> "aBcCd:efg:hi:l:m:N:n:o:O:pqQrRsS:Tt:VvwWx:XYZz::";<br>&nbsp;
>> <br>&nbsp; struct option options [] = {<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"abort-on-skip",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> no_argument,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL,
>> 'X'},<br>***************<br>*** 562,567 ****<br>--- 562,568
>> ----<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"force-generic-device",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> required_argument, NULL, 'g'},<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"force-read-speed",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> required_argument, NULL, 'S'},<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"force-sear
>>  >  ch-overlap",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required_argument, NULL,
>> 'o'},<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> {"load-nrg-image",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> required_argument, NULL, 'N'},<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"help",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> no_argument,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL,
>> 'h'},<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
>> {"log-summary",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> required_argument, NULL, 'l'},<br>&nbsp; &nbsp;&nbsp;&nbsp;
>> {"mmc-timeout",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> required_argument, NULL, 'm'},<br>***************<br>*** 592,597
>> ****<br>--- 593,599 ----<br>&nbsp; static
>> char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> *span&nbsp;&nbsp;&nbsp;&nbsp; = NULL;<br>&
>>  >  nbsp; static char *force_cdrom_device&nbsp;&nbsp; = NULL;<br>&nbsp;
>> static char
>> *info_file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> = NULL;<br>+ static char
>> *nrg_image_file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
>> NULL;<br>&nbsp; <br>&nbsp; #define free_and_null(p)
>> \<br>&nbsp;&nbsp;&nbsp; free(p);&nbsp;&nbsp;&nbsp;
>> &nbsp;&nbsp;&nbsp; &nbsp;\<br>***************<br>*** 619,624
>> ****<br>--- 621,627 ----<br>&nbsp;&nbsp;&nbsp;
>> free_and_null(force_cdrom_device);<br>&nbsp;&nbsp;&nbsp;
>> free_and_null(span);<br>&nbsp;&nbsp;&nbsp;
>> free_and_null(info_file);<br>+&nbsp;&nbsp;
>> free_and_null(nrg_image_file);<br>&nbsp;&nbsp;&nbsp; if(logfile
>> &amp;&amp; logfile != stdout)
>> {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> fclose(logfile);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> logfile = NULL;<br>***************<br>*** 686,691 ****<br>---
>> 689,696 ----<br>&nbsp;&nbsp;&nbsp; int
>> search=0;<br>&nbsp;&nbsp;&nbsp; int c,long_option_index;<br>&nbsp;
>> <br>+&nbsp;&nbsp; CdIo_t *
>>  >  p_cdio=NULL;<br>+ <br>&nbsp;&nbsp;&nbsp; atexit(cleanup);<br>&nbsp;
>> <br>&nbsp;&nbsp;&nbsp;
>> while((c=getopt_long(argc,argv,optstring,options,&amp;long_option_index))!=EOF){<br>***************<br>***
>> 756,761 ****<br>--- 761,770 ----<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> case 'n':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> get_int_arg(c,
>> &amp;force_cdrom_sectors);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> break;<br>+&nbsp;&nbsp;&nbsp;&nbsp; case
>> 'N':<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> if(nrg_image_file)free(nrg_image_file);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> nrg_image_file=strdup(optarg);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case
>> 'o':<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get_int_arg(c,
>> &amp;force_cdrom_overlap);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> break;<br>***************<br>*** 861,871 ****<br>&nbsp;&nbsp;&nbsp;
>> }else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (argv[optind])
>> span=strdup(argv[optind]);<br
>>  >  >&nbsp; <br>&nbsp;&nbsp;&nbsp; report(PARANOIA_VERSION);<br>&nbsp;
>> <br>&nbsp;&nbsp;&nbsp; /* Query the cdrom/disc; we may need to
>> override some settings */<br>&nbsp; <br>!&nbsp;&nbsp;
>> if(force_cdrom_device)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> d=cdda_identify(force_cdrom_device,verbose,NULL);<br>&nbsp;&nbsp;&nbsp;
>> else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; driver_id_t
>> driver_id;<br>--- 870,890 ----<br>&nbsp;&nbsp;&nbsp;
>> }else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (argv[optind])
>> span=strdup(argv[optind]);<br>&nbsp; <br>+&nbsp;&nbsp;
>> if(nrg_image_file) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;
>> p_cdio=cdio_open_nrg(nrg_image_file);<br>+&nbsp;&nbsp;&nbsp;&nbsp;
>> if(!p_cdio) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> fprintf(stderr,"Cannot open image file %s as source.",
>> nrg_image_file);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> exit(1);<br>+&nbsp;&nbsp;&nbsp;&nbsp; }<br>+&nbsp;&nbsp; }<br>+
>> <br>&nbsp;&nbsp;&nbsp; report(PARANOIA_VERSION);<br>&nbsp;
>> <br>&nbsp;&nbsp;&nbsp; /* Query the cdrom/disc; w
>>  >  e may need to override some settings */<br>&nbsp; <br>!&nbsp;&nbsp;
>> if(p_cdio)<br>!&nbsp;&nbsp;&nbsp;&nbsp;
>> d=cdio_cddap_identify_cdio(p_cdio,verbose,NULL);<br>!&nbsp;&nbsp;
>> else if(force_cdrom_device)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> d=cdda_identify(force_cdrom_device,verbose,NULL);<br>&nbsp;&nbsp;&nbsp;
>> else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; driver_id_t
>> driver_id;<br><br><br><br><hr id="stopSpelling">&gt; From:
>> address@hidden<br>&gt; Date: Thu, 28 Feb 2008 18:01:19
>> -0500<br>&gt; To: address@hidden<br>&gt; CC:
>> address@hidden<br>&gt; Subject: [Libcdio-devel] libcdio
>> release around the ides of March? (March 15)<br>&gt; <br>&gt; I've
>> been thinking about making another release to clear out the<br>&gt;
>> security bugs that have been reported and fixed in CVS. Also, it
>> might<br>&gt; pave the way for a GPL 2 to GPL 3 down the line.
>> (Previously the<br>&gt; observation was made that one shouldn't tie
>> security fixes with a<br>&gt; license change).<br>&gt; <br>&gt; A c
>>  >  ouple of people suggested a possibility of some other additions
>> to<br>&gt; libcdio. For example Robert William Fuller suggested
>> adding gap<br>&gt; detection via MMC commands, but I gather this has
>> all been rolled into<br>&gt; cued, right?<br>&gt; <br>&gt; So right
>> now unless there's reason not to, I'm shooting for a March<br>&gt;
>> 15th release. Comments?<br>&gt; <br>&gt; <br><br /><hr
>> />Â¥Ã&#381;³¡¸¨®æ¤Ã&#8364;¨Ã&#8240;·Ã&#8220;¤ù¡B¼v­µ¡B½ì¨ý¤p¤u¨ã©M³Ã&#338;·R²M³æ¡AºÃ&#8240;±¡¨qÂ¥X§A¦Ã&#8250;¤v
>> ¡X <a href='http://spaces.live.com/' target='_new'>Windows Live
>> Spaces</a></body>
>>  > </html>
>
> _________________________________________________________________
> è&#65533;°æ&#732;&#381;æ&#65533;&#339;å°&#8249;å&#8217;&#338;ç&#8364;&#65533;覽網路ç&#353;&#8222;å&#8230;&#65533;費工å&#8230;·å&#710;&#8212;
â&#8364;&#8221; MSN æ&#65533;&#339;å°&#8249;å·¥å&#8230;·å&#710;&#8212;
> http://toolbar.live.com/






reply via email to

[Prev in Thread] Current Thread [Next in Thread]