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: Huang William
Subject: RE: [Libcdio-devel] libcdio release around the ides of March? (March 15)
Date: Mon, 3 Mar 2008 09:18:54 -0800

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 
> />¥Î³¡¸¨®æ¤À¨É·Ó¤ù¡B¼v­µ¡B½ì¨ý¤p¤u¨ã©M³Ì·R²M³æ¡AºÉ±¡¨q¥X§A¦Û¤v ¡X <a 
> href='http://spaces.live.com/' target='_new'>Windows Live Spaces</a></body>
>  > </html>

_________________________________________________________________
聰明搜尋和瀏覽網路的免費工具列 — MSN 搜尋工具列 
http://toolbar.live.com/

reply via email to

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