diff options
author | Giuliano Pochini <pochini@shiny.it> | 2005-02-04 15:35:27 +0000 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2005-02-04 15:35:27 +0000 |
commit | 943bf551e1ea814560d0936140e2e01ce4c264af (patch) | |
tree | c145fbc69a2bad4ad9a1691119b2e6849b3ac6fa /amixer | |
parent | 4d710af54352082d27a8a630a1af640c568384f5 (diff) | |
download | alsa-utils-943bf551e1ea814560d0936140e2e01ce4c264af.tar.gz |
amixer no-range-checking option
This patch adds the --nocheck option that disables range checking. It helps
debugging drivers.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Diffstat (limited to 'amixer')
-rw-r--r-- | amixer/amixer.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/amixer/amixer.c b/amixer/amixer.c index 97fe5d5..e4fec88 100644 --- a/amixer/amixer.c +++ b/amixer/amixer.c @@ -38,6 +38,7 @@ #define HELPID_INACTIVE 1004 #define HELPID_DEBUG 1005 #define HELPID_VERSION 1006 +#define HELPID_NOCHECK 1007 #define LEVEL_BASIC (1<<0) #define LEVEL_INACTIVE (1<<1) @@ -45,6 +46,7 @@ int quiet = 0; int debugflag = 0; +int no_check = 0; char card[64] = "default"; static void error(const char *fmt,...) @@ -66,6 +68,7 @@ static int help(void) printf(" -c,--card N select the card\n"); printf(" -D,--device N select the device, default '%s'\n", card); printf(" -d,--debug debug mode\n"); + printf(" -n,--nocheck do not perform range checking\n"); printf(" -v,--version print version of this program\n"); printf(" -q,--quiet be quiet\n"); printf(" -i,--inactive show also inactive controls\n"); @@ -161,6 +164,8 @@ static const char *control_access(snd_ctl_elem_info_t *info) static int check_range(int val, int min, int max) { + if (no_check) + return val; if (val < min) return min; if (val > max) @@ -1456,6 +1461,7 @@ int main(int argc, char *argv[]) {"quiet", 0, NULL, HELPID_QUIET}, {"inactive", 0, NULL, HELPID_INACTIVE}, {"debug", 0, NULL, HELPID_DEBUG}, + {"nocheck", 0, NULL, HELPID_NOCHECK}, {"version", 0, NULL, HELPID_VERSION}, {NULL, 0, NULL, 0}, }; @@ -1464,7 +1470,7 @@ int main(int argc, char *argv[]) while (1) { int c; - if ((c = getopt_long(argc, argv, "hc:D:qidv", long_option, NULL)) < 0) + if ((c = getopt_long(argc, argv, "hc:D:qidnv", long_option, NULL)) < 0) break; switch (c) { case 'h': @@ -1501,6 +1507,10 @@ int main(int argc, char *argv[]) case HELPID_DEBUG: debugflag = 1; break; + case 'n': + case HELPID_NOCHECK: + no_check = 1; + break; case 'v': case HELPID_VERSION: printf("amixer version " SND_UTIL_VERSION_STR "\n"); |