summaryrefslogtreecommitdiff
path: root/alsactl
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2021-06-01 17:47:42 +0200
committerJaroslav Kysela <perex@perex.cz>2021-06-01 17:49:27 +0200
commit78212445de4c8e07873cbc7dff2abcacd031f151 (patch)
tree2d6c488eadf7148fa27f2a066cca7967d3995fb6 /alsactl
parentef62ab34fc418cfcd4ff63ecbbe9b1c0e9e3381c (diff)
downloadalsa-utils-78212445de4c8e07873cbc7dff2abcacd031f151.tar.gz
alsactl: fix the nested iteration
There may be nested iterations for hw: card names. Handle this card name in snd_card_iterator_sinit(). BugLink: https://github.com/alsa-project/alsa-lib/issues/142 Fixes: eefc2c6 ("alsactl: use card iterator functions for all card loops") Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'alsactl')
-rw-r--r--alsactl/utils.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/alsactl/utils.c b/alsactl/utils.c
index c79fd95..881b505 100644
--- a/alsactl/utils.c
+++ b/alsactl/utils.c
@@ -247,6 +247,8 @@ int snd_card_iterator_sinit(struct snd_card_iterator *iter, const char *cardname
int cardno = -1;
if (cardname) {
+ if (strncmp(cardname, "hw:", 3) == 0)
+ cardname += 3;
cardno = snd_card_get_index(cardname);
if (cardno < 0) {
error("Cannot find soundcard '%s'...", cardname);