aboutsummaryrefslogtreecommitdiffstats
path: root/awklib/eg/lib/strtonum.awk
diff options
context:
space:
mode:
authorStephen Davies <sdavies@sdc.com.au>2014-09-11 16:26:34 +0930
committerStephen Davies <sdavies@sdc.com.au>2014-09-11 16:26:34 +0930
commit33acaac51cd9087eb7a9b7e73c11f58da396df9a (patch)
tree31f31fcbddca399940865007322bdeea81f2f6f7 /awklib/eg/lib/strtonum.awk
parent9b21de890a81179e951ffa5bea2099673f584b16 (diff)
parentca9f23d6c33c4b5cb3786d480948a42988ca99ac (diff)
downloadegawk-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.awk7
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