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 51 52 53 54 55 56 57 58 59 60 61 62
|
BEGIN {
q="\""
}
function parent(path)
{
sub("/[^/]*$", "", path)
return path
}
function children(DST, path)
{
return split(CHILDREN[path], DST, "[|]")
}
function sy_is_recursive(path, dp)
{
dp = DATA[path]
gsub("/[0-9]::", "/", path)
if (path ~ dp)
rturn 1
return 0
}
function sy_href(path)
{
return "#" path
}
(($1 == "open") || ($1 == "data")) {
path=$3
gsub("[0-9]+::", "", path)
TYPE[path] = $2
p = parent(path)
if (CHILDREN[p] == "")
CHILDREN[p] = path
else
CHILDREN[p] = CHILDREN[p] "|" path
data=$4
gsub("\\\\057", "/", data)
DATA[path] = data
name=$3
sub("^.*/", "", name)
sub(".*::", "", name)
NAME[path] = name
}
function qstrip(s)
{
gsub("[\\\\]+164", " ", s)
gsub("[\\\\]n", " ", s)
return s
}
function qstripnl(s)
{
gsub("[\\\\]+164", " ", s)
gsub("[\\\\]n", "\n", s)
return s
}
|