diff mbox

[alsa-lib,1/2] ucm: adding the folder of card_long_name when finding verb conf file

Message ID 1525241286-16498-1-git-send-email-hui.wang@canonical.com (mailing list archive)
State New, archived
Headers show

Commit Message

Hui Wang May 2, 2018, 6:08 a.m. UTC
The board configuration file and verb conf file are allowed to be
in the folder named of card_long_name, so when finding the verb conf
file, we need to check if it is in the folder of card_long_name or
card_name.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
---
 src/ucm/parser.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Jaroslav Kysela May 2, 2018, 6:43 a.m. UTC | #1
Applied. Thanks.

Dne 2.5.2018 v 08:08 Hui Wang napsal(a):
> The board configuration file and verb conf file are allowed to be
> in the folder named of card_long_name, so when finding the verb conf
> file, we need to check if it is in the folder of card_long_name or
> card_name.
> 
> Signed-off-by: Hui Wang <hui.wang@canonical.com>
> ---
>  src/ucm/parser.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/src/ucm/parser.c b/src/ucm/parser.c
> index 2d76152..219edb9 100644
> --- a/src/ucm/parser.c
> +++ b/src/ucm/parser.c
> @@ -1056,6 +1056,7 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr,
>  	char filename[MAX_FILE];
>  	char *env = getenv(ALSA_CONFIG_UCM_VAR);
>  	int err;
> +	char *folder_name;
>  
>  	/* allocate verb */
>  	verb = calloc(1, sizeof(struct use_case_verb));
> @@ -1082,12 +1083,17 @@ static int parse_verb_file(snd_use_case_mgr_t *uc_mgr,
>  	}
>  
>  	/* open Verb file for reading */
> +	if (!strncmp(uc_mgr->conf_file_name, uc_mgr->card_long_name, MAX_CARD_LONG_NAME))
> +		folder_name = uc_mgr->card_long_name;
> +	else
> +		folder_name = uc_mgr->card_name;
> +
>  	if (env)
>  		snprintf(filename, sizeof(filename), "%s/%s/%s",
> -			 env, uc_mgr->card_name, file);
> +			 env, folder_name, file);
>  	else
>  		snprintf(filename, sizeof(filename), "%s/ucm/%s/%s",
> -			 snd_config_topdir(), uc_mgr->card_name, file);
> +			 snd_config_topdir(), folder_name, file);
>  	filename[sizeof(filename)-1] = '\0';
>  	
>  	err = uc_mgr_config_load(filename, &cfg);
>
diff mbox

Patch

diff --git a/src/ucm/parser.c b/src/ucm/parser.c
index 2d76152..219edb9 100644
--- a/src/ucm/parser.c
+++ b/src/ucm/parser.c
@@ -1056,6 +1056,7 @@  static int parse_verb_file(snd_use_case_mgr_t *uc_mgr,
 	char filename[MAX_FILE];
 	char *env = getenv(ALSA_CONFIG_UCM_VAR);
 	int err;
+	char *folder_name;
 
 	/* allocate verb */
 	verb = calloc(1, sizeof(struct use_case_verb));
@@ -1082,12 +1083,17 @@  static int parse_verb_file(snd_use_case_mgr_t *uc_mgr,
 	}
 
 	/* open Verb file for reading */
+	if (!strncmp(uc_mgr->conf_file_name, uc_mgr->card_long_name, MAX_CARD_LONG_NAME))
+		folder_name = uc_mgr->card_long_name;
+	else
+		folder_name = uc_mgr->card_name;
+
 	if (env)
 		snprintf(filename, sizeof(filename), "%s/%s/%s",
-			 env, uc_mgr->card_name, file);
+			 env, folder_name, file);
 	else
 		snprintf(filename, sizeof(filename), "%s/ucm/%s/%s",
-			 snd_config_topdir(), uc_mgr->card_name, file);
+			 snd_config_topdir(), folder_name, file);
 	filename[sizeof(filename)-1] = '\0';
 	
 	err = uc_mgr_config_load(filename, &cfg);