Overview
Comment: | Updated to include "strtonum" implementation (public domain) |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0219a4ded0ac9a9138fd6ca269310f5c |
User & Date: | rkeene on 2014-06-21 04:43:36 |
Other Links: | manifest | tags |
Context
2014-06-21
| ||
04:44 | Updated to work on older autoconf implementations and support the new versionscript.m4 interface check-in: 5ade025cc5 user: rkeene tags: trunk | |
04:43 | Updated to include "strtonum" implementation (public domain) check-in: 0219a4ded0 user: rkeene tags: trunk | |
2014-06-18
| ||
19:50 | Added new API tests check-in: 2a9dcf9840 user: rkeene tags: trunk | |
Changes
Modified headers.awk from [2628bc220f] to [50cddefa11].
1 2 3 4 5 6 7 | /^End of search list/{ in_searchpath = 0; } (in_searchpath == 1){ searchpath = $0; sub(/^ */, "", searchpath); | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # strtonum --- convert string to number # # Arnold Robbins, arnold@skeeve.com, Public Domain # February, 2004 function mystrtonum(str, ret, chars, n, i, k, c) { if (str ~ /^0[0-7]*$/) { # octal n = length(str) 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 ret = ret * 8 + k } } else if (str ~ /^0[xX][0-9a-fA-f]+/) { # hexadecimal str = substr(str, 3) # lop off leading 0x n = length(str) ret = 0 for (i = 1; i <= n; i++) { c = substr(str, i, 1) c = tolower(c) if ((k = index("0123456789", c)) > 0) k-- # adjust for 1-basing in awk else if ((k = index("abcdef", c)) > 0) k += 9 ret = ret * 16 + k } } else if (str ~ /^[-+]?([0-9]+([.][0-9]*([Ee][0-9]+)?)?|([.][0-9]+([Ee][-+]?[0-9]+)?))$/) { # decimal number, possibly floating point ret = str + 0 } else ret = "NOT-A-NUMBER" return ret } /^End of search list/{ in_searchpath = 0; } (in_searchpath == 1){ searchpath = $0; sub(/^ */, "", searchpath); |
︙ | ︙ | |||
62 63 64 65 66 67 68 | } END{ for (key in copy) { split(key, parts, SUBSEP); src = parts[1]; | | | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | } END{ for (key in copy) { split(key, parts, SUBSEP); src = parts[1]; idx = mystrtonum(parts[2]); dest = copy[key]; destcopy[dest,idx] = src; destcopyfiles[dest] = 1; } for (destfile in destcopyfiles) { |
︙ | ︙ |