]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsactl: Fix REMOVE event handling in monitor command
authorTakashi Iwai <tiwai@suse.de>
Tue, 26 Nov 2013 12:59:19 +0000 (13:59 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 26 Nov 2013 12:59:19 +0000 (13:59 +0100)
SND_CTL_EVENT_MASK_REMOVE has to be checked at first and ignore the
rest if it matches.  Suggested by Clemens.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
alsactl/monitor.c

index 12d24504264b883412836d00205cb00cc93ed6cb..1c0246849c62736717e11d62a5cba356fbbe84ef 100644 (file)
@@ -58,6 +58,10 @@ int monitor(const char *name)
                       snd_ctl_event_elem_get_index(event));
 
                mask = snd_ctl_event_elem_get_mask(event);
+               if (mask == SND_CTL_EVENT_MASK_REMOVE) {
+                       printf(" REMOVE\n");
+                       continue;
+               }
                if (mask & SND_CTL_EVENT_MASK_VALUE)
                        printf(" VALUE");
                if (mask & SND_CTL_EVENT_MASK_INFO)
@@ -66,8 +70,6 @@ int monitor(const char *name)
                        printf(" ADD");
                if (mask & SND_CTL_EVENT_MASK_TLV)
                        printf(" TLV");
-               if (mask == SND_CTL_EVENT_MASK_REMOVE)
-                       printf(" REMOVE");
                printf("\n");
        }
        snd_ctl_close(ctl);