At Tue, 20 Sep 2011 13:15:44 -0400, Scott Jiang wrote:
Some drivers don't have a card driver name, but they have a nice card name containing enough info. So we can use card name to search card config if we found driver name is not valid.
Signed-off-by: Scott Jiang scott.jiang.linux@gmail.com
It's rather a bug of driver, no? I don't think we need to work around it.
thanks,
Takashi
src/confmisc.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/confmisc.c b/src/confmisc.c index 80b0027..3c4b5aa 100644 --- a/src/confmisc.c +++ b/src/confmisc.c @@ -666,6 +666,7 @@ int snd_determine_driver(int card, char **driver) snd_ctl_t *ctl = NULL; snd_ctl_card_info_t *info; char *res = NULL;
const char *name = NULL; int err;
assert(card >= 0 && card <= 32);
@@ -680,7 +681,12 @@ int snd_determine_driver(int card, char **driver) SNDERR("snd_ctl_card_info error: %s", snd_strerror(err)); goto __error; }
- res = strdup(snd_ctl_card_info_get_driver(info));
- name = snd_ctl_card_info_get_driver(info);
- /* if card driver name is empty string, try to use card name */
- if (name[0] == '\0')
name = snd_ctl_card_info_get_name(info);
- res = strdup(name); if (res == NULL) err = -ENOMEM; else {
-- 1.7.0.4