Index: trunk/util/menu2svg.sh =================================================================== --- trunk/util/menu2svg.sh (revision 11476) +++ trunk/util/menu2svg.sh (revision 11477) @@ -65,11 +65,14 @@ # print "ranksep=4;" print "node [shape=record];" - path = "/" - id = 1 - PATH2ID[path] = id - ID2PATH[id] = path + reg_node("/") +} +function reg_node(path) +{ + last_id++ + PATH2ID[path] = last_id + ID2PATH[last_id] = path } function add_ch(parent, child) @@ -85,12 +88,10 @@ } { - id++; path=$1 KEY[path] = $2 ACT[path] = $3 - PATH2ID[path] = id - ID2PATH[id] = path + reg_node(path) while(path ~ "/") { parent = path sub("/[^/]*$", "", parent) @@ -104,6 +105,8 @@ { short=parent sub(".*/", "", short) + if (!(parent in PATH2ID)) + reg_node(parent) printf " m" PATH2ID[parent] " [label=\" [[" short "]]" for(n = 0; n < NUM_CH[parent]; n++) { child=CH[parent, n]