- if( !strncmp( psz_paranoia, "full", strlen("full") ) )
- p_cdda->e_paranoia = paranoia_full;
- else if( !strncmp( psz_paranoia, "overlap", strlen("overlap") ) )
- p_cdda->e_paranoia = paranoia_overlap;
-
- /* Use CD Paranoia? */
- if ( p_cdda->e_paranoia ) {
- p_cdda->paranoia_cd = cdio_cddap_identify_cdio(p_cdio, 1, NULL);
- /* We'll set for verbose paranoia messages. */
- cdio_cddap_verbose_set(p_cdda->paranoia_cd, CDDA_MESSAGE_PRINTIT,
- CDDA_MESSAGE_PRINTIT);
- if ( 0 != cdio_cddap_open(p_cdda->paranoia_cd) ) {
- msg_Warn( p_cdda_input, "Unable to get paranoia support - "
- "continuing without it." );
- p_cdda->e_paranoia = paranoia_none;
- } else {
- p_cdda->paranoia = cdio_paranoia_init(p_cdda->paranoia_cd);
- cdio_paranoia_seek(p_cdda->paranoia, p_cdda->i_lsn, SEEK_SET);
-
- /* Set reading mode for full or overlap paranoia,
- but allow skipping sectors. */
- cdio_paranoia_modeset(p_cdda->paranoia,
- paranoia_full == p_cdda->e_paranoia ?
- PARANOIA_MODE_FULL^PARANOIA_MODE_NEVERSKIP :
- PARANOIA_MODE_OVERLAP^PARANOIA_MODE_NEVERSKIP
- );
- }
- }
- }
+ p_cdda->e_paranoia = PARANOIA_MODE_DISABLE;
+ if( psz_paranoia && *psz_paranoia )
+ {
+ if( !strncmp( psz_paranoia, "full", strlen("full") ) )
+ p_cdda->e_paranoia = PARANOIA_MODE_FULL;
+ else if( !strncmp(psz_paranoia, "overlap", strlen("overlap")) )
+ p_cdda->e_paranoia = PARANOIA_MODE_OVERLAP;
+
+ /* Use CD Paranoia? */
+ if( p_cdda->e_paranoia )
+ {
+ p_cdda->paranoia_cd =
+ cdio_cddap_identify_cdio( p_cdio, 1, NULL );
+ /* We'll set for verbose paranoia messages. */
+ cdio_cddap_verbose_set( p_cdda->paranoia_cd,
+ CDDA_MESSAGE_PRINTIT,
+ CDDA_MESSAGE_PRINTIT );
+ if ( 0 != cdio_cddap_open(p_cdda->paranoia_cd) )
+ {
+ msg_Warn( p_cdda_input, "unable to get paranoia support - "
+ "continuing without it." );
+ p_cdda->e_paranoia = PARANOIA_MODE_DISABLE;
+ }
+ else
+ {
+ p_cdda->paranoia = cdio_paranoia_init(p_cdda->paranoia_cd);
+ cdio_paranoia_seek( p_cdda->paranoia, p_cdda->i_lsn,
+ SEEK_SET);
+
+ /* Set reading mode for full or overlap paranoia,
+ * but allow skipping sectors. */
+ cdio_paranoia_modeset( p_cdda->paranoia,
+ PARANOIA_MODE_FULL == p_cdda->e_paranoia ?
+ PARANOIA_MODE_FULL^PARANOIA_MODE_NEVERSKIP :
+ PARANOIA_MODE_OVERLAP^PARANOIA_MODE_NEVERSKIP );
+ }
+ }
+ }
+ free( psz_paranoia );