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.783 |
| 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) {
|
| ︙ | ︙ |