]> git.alsa-project.org Git - alsa-utils.git/commitdiff
- fixed the infinite loop in probing a card control.
authorTakashi Iwai <tiwai@suse.de>
Thu, 27 Nov 2003 11:07:25 +0000 (11:07 +0000)
committerTakashi Iwai <tiwai@suse.de>
Thu, 27 Nov 2003 11:07:25 +0000 (11:07 +0000)
aplay/aplay.c

index ee1f0ed7dc8d999ad952c4fa4df59d1eb2db55a3..e12589c571431d0de53b5933a6ac3699ca2e44d0 100644 (file)
@@ -199,12 +199,12 @@ static void device_list(void)
                sprintf(name, "hw:%d", card);
                if ((err = snd_ctl_open(&handle, name, 0)) < 0) {
                        error("control open (%i): %s", card, snd_strerror(err));
-                       continue;
+                       goto next_card;
                }
                if ((err = snd_ctl_card_info(handle, info)) < 0) {
                        error("control hardware info (%i): %s", card, snd_strerror(err));
                        snd_ctl_close(handle);
-                       continue;
+                       goto next_card;
                }
                fprintf(stderr, "**** List of %s Hardware Devices ****\n", snd_pcm_stream_name(stream));
                dev = -1;
@@ -239,6 +239,7 @@ static void device_list(void)
                        }
                }
                snd_ctl_close(handle);
+       next_card:
                if (snd_card_next(&card) < 0) {
                        error("snd_card_next");
                        break;