]> git.alsa-project.org Git - alsa-lib.git/commitdiff
ucm: fix optional include HEAD master
authorHuang Yunxuan <hyx0329@outlook.com>
Wed, 18 Mar 2026 14:36:24 +0000 (22:36 +0800)
committerJaroslav Kysela <perex@perex.cz>
Wed, 18 Mar 2026 14:42:20 +0000 (15:42 +0100)
The path is not an absolute path and can't be used with `access()`.
Let's call `uc_mgr_config_load_file()` directly and mask acceptable
error numbers.

Closes: https://github.com/alsa-project/alsa-lib/pull/499
Signed-off-by: Huang Yunxuan <hyx0329@outlook.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/ucm_include.c

index b155a086b41c5faaedc2192784b0c368d00caee8..8a47e74895ba04fd8de52e4f2839dea5289c12a0 100644 (file)
@@ -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;