From 18fa888b68b5b16f2e78d07ca3f42b49097d878b Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 20 Nov 1998 20:02:51 +0000 Subject: [PATCH] Now is alsactl restore hhandled ok when configuration file doesn't exist... --- alsactl/alsactl.c | 4 ++-- alsactl/alsactl.h | 2 +- alsactl/setup.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/alsactl/alsactl.c b/alsactl/alsactl.c index 1ddbb00..ef91a60 100644 --- a/alsactl/alsactl.c +++ b/alsactl/alsactl.c @@ -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(); diff --git a/alsactl/alsactl.h b/alsactl/alsactl.h index 6668d50..9c1763a 100644 --- a/alsactl/alsactl.h +++ b/alsactl/alsactl.h @@ -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 ); diff --git a/alsactl/setup.c b/alsactl/setup.c index 182d6ac..07d9c55 100644 --- a/alsactl/setup.c +++ b/alsactl/setup.c @@ -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; -- 2.47.1