]> git.alsa-project.org Git - alsa-lib.git/commitdiff
ucm: handle correctly Linked configuration
authorJaroslav Kysela <perex@perex.cz>
Mon, 19 Oct 2020 08:42:27 +0000 (10:42 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 19 Oct 2020 08:52:13 +0000 (10:52 +0200)
BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/54
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/main.c

index 49865df8c70e7497a572321c5caac27260f01fcc..3871d5aab90b5ea42e017dc8963783e3e0ee210f 100644 (file)
  * misc
  */
 
+static int get_value(snd_use_case_mgr_t *uc_mgr,
+                       const char *identifier,
+                       char **value,
+                       const char *mod_dev_name,
+                       const char *verb_name,
+                       int exact);
 static int get_value1(snd_use_case_mgr_t *uc_mgr, char **value,
                       struct list_head *value_list, const char *identifier);
 static int get_value3(snd_use_case_mgr_t *uc_mgr,
@@ -575,6 +581,17 @@ static int import_master_config(snd_use_case_mgr_t *uc_mgr)
  */
 static int check_empty_configuration(snd_use_case_mgr_t *uc_mgr)
 {
+       int err;
+       char *value;
+
+       err = get_value(uc_mgr, "Linked", &value, NULL, NULL, 1);
+       if (err >= 0) {
+               err = strcasecmp(value, "true") == 0 ||
+                     strcmp(value, "1") == 0;
+               free(value);
+               if (err)
+                       return 0;
+       }
        if (!list_empty(&uc_mgr->verb_list))
                return 0;
        if (!list_empty(&uc_mgr->boot_list))