aboutsummaryrefslogtreecommitdiff
path: root/utils/tinymix.c
diff options
context:
space:
mode:
authordvdli <70133153+dvdli@users.noreply.github.com>2020-11-02 09:48:10 +0800
committerGitHub <noreply@github.com>2020-11-02 09:48:10 +0800
commit4bbffd5c6223f8e11cf2e81b8ac9fb9cacf040fa (patch)
treecc3f820ccf3df93bf8e074d8f77cd7c6f1a657b6 /utils/tinymix.c
parent2378be171c12271dd76baf099e1e050218a4170b (diff)
parent877ccaf02b773ad7b995bacbfba8e1bdfe11b00d (diff)
Merge pull request #188 from dvdli/android-dev
Synchronize the changes on AOSP repo
Diffstat (limited to 'utils/tinymix.c')
-rw-r--r--utils/tinymix.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/utils/tinymix.c b/utils/tinymix.c
index fdb774c..41ca269 100644
--- a/utils/tinymix.c
+++ b/utils/tinymix.c
@@ -146,6 +146,16 @@ int main(int argc, char **argv)
return EXIT_SUCCESS;
}
+static int isnumber(const char *str) {
+ char *end;
+
+ if (str == NULL || strlen(str) == 0)
+ return 0;
+
+ strtol(str, &end, 0);
+ return strlen(end) == 0;
+}
+
static void tinymix_list_controls(struct mixer *mixer, int print_all)
{
struct mixer_ctl *ctl;
@@ -201,7 +211,7 @@ static void tinymix_detail_control(struct mixer *mixer, const char *control)
int ret;
char *buf = NULL;
- if (isdigit(control[0]))
+ if (isnumber(control))
ctl = mixer_get_ctl(mixer, atoi(control));
else
ctl = mixer_get_ctl_by_name(mixer, control);
@@ -469,7 +479,7 @@ static int tinymix_set_value(struct mixer *mixer, const char *control,
struct mixer_ctl *ctl;
enum mixer_ctl_type type;
- if (isdigit(control[0]))
+ if (isnumber(control))
ctl = mixer_get_ctl(mixer, atoi(control));
else
ctl = mixer_get_ctl_by_name(mixer, control);