For an enumerated element with several channels, when given comma-separated string values, 'cset' operation sets these values just to the first channel, instead of corresponding channels.
This commit adds missing-increment to fix this bug.
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- amixer/amixer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/amixer/amixer.c b/amixer/amixer.c index 36c92eb..e9fe735 100644 --- a/amixer/amixer.c +++ b/amixer/amixer.c @@ -1290,8 +1290,10 @@ static int sset_enum(snd_mixer_elem_t *elem, unsigned int argc, char **argv) if (snd_mixer_selem_set_enum_item(elem, item++, ival) >= 0) check_flag = 1; /* skip separators */ - while (*ptr == ',' || isspace(*ptr)) + while (*ptr == ',' || isspace(*ptr)) { ptr++; + chn++; + } } } return check_flag;