int card, err;
snd_ctl_t *ctl;
snd_ctl_card_info_t *info;
- const char *_name, *_long_name;
+ const char *_driver, *_name, *_long_name;
snd_ctl_card_info_alloca(&info);
err = get_card_info(mgr, name, &ctl, info);
if (err == 0) {
+ _driver = snd_ctl_card_info_get_driver(info);
_name = snd_ctl_card_info_get_name(info);
_long_name = snd_ctl_card_info_get_longname(info);
- if (!strcmp(card_name, _name) ||
+ if (!strcmp(card_name, _driver) ||
+ !strcmp(card_name, _name) ||
!strcmp(card_name, _long_name)) {
snd_strlcpy(longname, _long_name, MAX_CARD_LONG_NAME);
return 0;
{
snd_ctl_t *ctl;
snd_ctl_card_info_t *info;
- const char *_name, *_long_name;
+ const char *_driver, *_long_name;
int err;
snd_ctl_card_info_alloca(&info);
if (err)
return err;
- _name = snd_ctl_card_info_get_name(info);
- if (replace_string(&mgr->conf_dir_name, _name) == NULL)
+ _driver = snd_ctl_card_info_get_driver(info);
+ if (replace_string(&mgr->conf_dir_name, _driver) == NULL)
return -ENOMEM;
_long_name = snd_ctl_card_info_get_longname(info);
snd_strlcpy(longname, _long_name, MAX_CARD_LONG_NAME);