--- stty.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/stty.c b/stty.c index e21ab24..9da517c 100644 --- a/stty.c +++ b/stty.c _AT_@ -438,12 +438,12 @@ parseoperand_mode(char *arg, struct termios *mode) } static long long -estrtonum_radix(const char *numstr, long long minval, long long maxval, int radix) +estrtonum_anyradix(const char *numstr, long long minval, long long maxval) { long long ll = 0; char *ep; errno = 0; - ll = strtoll(numstr, &ep, radix); + ll = strtoll(numstr, &ep, 0); if (numstr == ep || *ep != '\0') eprintf("strtoll %s: invalid\n", numstr); else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) _AT_@ -475,12 +475,8 @@ parseoperand_key(char *arg0, char *arg1, struct termios *mode) value = arg1[0]; else if (arg1[0] == '^') value = (cc_t)(arg1[1]) & ~0x60; - else if (strstr(arg1, "0x") == arg1) - value = estrtonum_radix(arg1 + 2, 0, CC_MAX, 16); - else if (arg1[0] == '0' && arg1[1]) - value = estrtonum_radix(arg1 + 1, 0, CC_MAX, 8); else - value = estrtonum_radix(arg1 + 0, 0, CC_MAX, 10); + value = estrtonum_anyradix(arg1, 0, CC_MAX); mode->c_cc[op->index] = value; return 0; -- 2.8.0Received on Sat Apr 02 2016 - 02:39:15 CEST
This archive was generated by hypermail 2.3.0 : Sat Apr 02 2016 - 02:48:15 CEST