diff options
author | Stephen Davies <sdavies@sdc.com.au> | 2014-09-11 16:26:34 +0930 |
---|---|---|
committer | Stephen Davies <sdavies@sdc.com.au> | 2014-09-11 16:26:34 +0930 |
commit | 33acaac51cd9087eb7a9b7e73c11f58da396df9a (patch) | |
tree | 31f31fcbddca399940865007322bdeea81f2f6f7 /awklib/eg/lib/strtonum.awk | |
parent | 9b21de890a81179e951ffa5bea2099673f584b16 (diff) | |
parent | ca9f23d6c33c4b5cb3786d480948a42988ca99ac (diff) | |
download | egawk-33acaac51cd9087eb7a9b7e73c11f58da396df9a.tar.gz egawk-33acaac51cd9087eb7a9b7e73c11f58da396df9a.tar.bz2 egawk-33acaac51cd9087eb7a9b7e73c11f58da396df9a.zip |
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/gawk
Conflicts:
doc/gawk.info
Diffstat (limited to 'awklib/eg/lib/strtonum.awk')
-rw-r--r-- | awklib/eg/lib/strtonum.awk | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/awklib/eg/lib/strtonum.awk b/awklib/eg/lib/strtonum.awk index 9342e789..5e20626b 100644 --- a/awklib/eg/lib/strtonum.awk +++ b/awklib/eg/lib/strtonum.awk @@ -13,8 +13,9 @@ function mystrtonum(str, ret, n, i, k, c) ret = 0 for (i = 1; i <= n; i++) { c = substr(str, i, 1) - if ((k = index("01234567", c)) > 0) - k-- # adjust for 1-basing in awk + # index() returns 0 if c not in string, + # includes c == "0" + k = index("1234567", c) ret = ret * 8 + k } @@ -26,6 +27,8 @@ function mystrtonum(str, ret, n, i, k, c) for (i = 1; i <= n; i++) { c = substr(str, i, 1) c = tolower(c) + # index() returns 0 if c not in string, + # includes c == "0" k = index("123456789abcdef", c) ret = ret * 16 + k |