diff --git a/src/ucm/ucm_include.c b/src/ucm/ucm_include.c index b155a086..8a47e748 100644 --- a/src/ucm/ucm_include.c +++ b/src/ucm/ucm_include.c @@ -90,11 +90,10 @@ static int include_eval_one(snd_use_case_mgr_t *uc_mgr, err = uc_mgr_get_substituted_value(uc_mgr, &s, file); if (err < 0) return err; - if (opt_bool && access(s, R_OK) != 0) { - snd_trace(UCM, "optional file '%s' not found", s); + err = uc_mgr_config_load_file(uc_mgr, s, result); + if (opt_bool && (err == -ENOENT || err == -EACCES)) { + snd_trace(UCM, "optional file '%s' not found or readable", s); err = 0; - } else { - err = uc_mgr_config_load_file(uc_mgr, s, result); } free(s); return err;