]> git.alsa-project.org Git - alsa-utils.git/commitdiff
Now is alsactl restore <card> hhandled ok when configuration file doesn't exist...
authorJaroslav Kysela <perex@perex.cz>
Fri, 20 Nov 1998 20:02:51 +0000 (20:02 +0000)
committerJaroslav Kysela <perex@perex.cz>
Fri, 20 Nov 1998 20:02:51 +0000 (20:02 +0000)
alsactl/alsactl.c
alsactl/alsactl.h
alsactl/setup.c

index 1ddbb00597a2daf5009aae3c3f17c8337bb5e7ca..ef91a6011aad5c017e947ff91cb7a2a9aeb709e6 100644 (file)
@@ -116,7 +116,7 @@ static int store_setup( const char *cardname )
     }
     if ( (err = collect_all()) )
       return err;
-    if ( (err = soundcard_setup_load( cfgfile )) )
+    if ( (err = soundcard_setup_load( cfgfile, 1 )) )
       return err;
     if ( (err = soundcard_setup_collect( cardno )) ) {
       soundcard_setup_done();
@@ -141,7 +141,7 @@ static int restore_setup( const char *cardname )
   }
   if ( (err = collect_all()) )
     return err;
-  if ( (err = soundcard_setup_load( cfgfile )) )
+  if ( (err = soundcard_setup_load( cfgfile, 0 )) )
     return err;
   err = soundcard_setup_process( cardno );
   soundcard_setup_done();
index 6668d506704d9e3c38c51745c09a3f671d2fb016..9c1763aa488e99d2f32e418381e0aa0aa629d3af 100644 (file)
@@ -108,7 +108,7 @@ extern struct soundcard *soundcards;
 
 void soundcard_setup_init( void );
 void soundcard_setup_done( void );
-int soundcard_setup_load( const char *filename );
+int soundcard_setup_load( const char *filename, int skip );
 int soundcard_setup_write( const char *filename );
 int soundcard_setup_collect( int cardno );
 int soundcard_setup_process( int cardno );
index 182d6ac9cd93a419fcee553b1df74d641f3ac667..07d9c557babbac4abbd209c4144250f8b85a240f 100644 (file)
@@ -266,7 +266,6 @@ int soundcard_setup_collect( int cardno )
     ctl -> no = idx;
     if ( (err = snd_ctl_switch_read( handle, idx, &ctl -> s )) < 0 ) {
       free( ctl );
-      snd_ctl_close( handle );
       error( "CTL switch read error (%s) - skipping", snd_strerror( err ) );
       break;
     }
@@ -499,7 +498,7 @@ int soundcard_setup_collect( int cardno )
   return 0;
 }
 
-int soundcard_setup_load( const char *cfgfile )
+int soundcard_setup_load(const char *cfgfile, int skip)
 {
   extern int yyparse( void );
   extern int linecount;
@@ -512,6 +511,7 @@ int soundcard_setup_load( const char *cfgfile )
 #endif
   if ( debugflag )
     printf( "cfgfile = '%s'\n", cfgfile );
+  if (skip && access(cfgfile, R_OK)) return 0;
   if ( ( yyin = fopen( cfgfile, "r" ) ) == NULL ) {
     error( "Cannot open configuration file '%s'...", cfgfile );
     return 1;