From 20c7e5b6676f16fde8a207ef07aec29927e41f9e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 15 Feb 2001 09:14:28 +0000 Subject: [PATCH] Fixed cset --- amixer/amixer.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/amixer/amixer.c b/amixer/amixer.c index d1a8ac8..40b09d3 100644 --- a/amixer/amixer.c +++ b/amixer/amixer.c @@ -712,6 +712,7 @@ static int cset(int argc, char *argv[], int roflag) error("Control %s cinfo error: %s\n", card, snd_strerror(err)); return err; } + snd_ctl_elem_info_get_id(info, id); /* FIXME: Remove it when hctl find works ok !!! */ type = snd_ctl_elem_info_get_type(info); count = snd_ctl_elem_info_get_count(info); snd_ctl_elem_value_set_id(control, id); @@ -763,25 +764,24 @@ static int cset(int argc, char *argv[], int roflag) } } snd_ctl_close(handle); -#if 0 - /* FIXME */ if (!quiet) { snd_hctl_t *hctl; - snd_hctl_t *elem; + snd_hctl_elem_t *elem; if ((err = snd_hctl_open(&hctl, card)) < 0) { error("Control %s open error: %s\n", card, snd_strerror(err)); return err; } - if ((err = snd_hctl_load(&hctl)) < 0) { + if ((err = snd_hctl_load(hctl)) < 0) { error("Control %s load error: %s\n", card, snd_strerror(err)); return err; } elem = snd_hctl_find_elem(hctl, id); - assert(elem); - show_control(" ", elem, 3); + if (elem) + show_control(" ", elem, 3); + else + printf("Could not find the specified element\n"); snd_hctl_close(hctl); } -#endif return 0; } -- 2.47.1