=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sndioctl/sndioctl.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- src/usr.bin/sndioctl/sndioctl.c 2020/04/27 21:44:47 1.6 +++ src/usr.bin/sndioctl/sndioctl.c 2020/05/17 05:32:01 1.7 @@ -1,4 +1,4 @@ -/* $OpenBSD: sndioctl.c,v 1.6 2020/04/27 21:44:47 schwarze Exp $ */ +/* $OpenBSD: sndioctl.c,v 1.7 2020/05/17 05:32:01 ratchov Exp $ */ /* * Copyright (c) 2014-2020 Alexandre Ratchov * @@ -48,6 +48,7 @@ int ismono(struct info *); void print_node(struct sioctl_node *, int); void print_desc(struct info *, int); +void print_num(struct info *); void print_val(struct info *, int); void print_par(struct info *, int, char *); int parse_name(char **, char *); @@ -362,6 +363,20 @@ } } +void +print_num(struct info *p) +{ + if (p->desc.maxval == 1) + printf("%d", p->curval); + else { + /* + * For now, maxval is always 127 or 255, + * so three decimals is always ideal. + */ + printf("%.3f", p->curval / (float)p->desc.maxval); + } +} + /* * print parameter value */ @@ -374,14 +389,7 @@ switch (p->desc.type) { case SIOCTL_NUM: case SIOCTL_SW: - if (p->desc.maxval == 1) - printf("%d", p->curval); - else - /* - * For now, maxval is always 127 or 255, - * so three decimals is always ideal. - */ - printf("%.3f", p->curval / (float)p->desc.maxval); + print_num(p); break; case SIOCTL_VEC: case SIOCTL_LIST: @@ -396,11 +404,8 @@ if (more) printf(","); print_node(&e->desc.node1, mono); - if (e->desc.maxval == 1) - printf(":%d", e->curval); - else - printf(":%.3f", - e->curval / (float)e->desc.maxval); + printf(":"); + print_num(e); more = 1; } }