12345678910111213141516171819202122232425262728 |
- /* Report if graph has non-hierarchical clusters */
- BEGIN {
- graph_t c[node_t];
- node_t n;
- void proc (graph_t h, graph_t p, graph_t g)
- {
- if (h.name == "cluster*") {
- for (n = fstnode(h); n; n = nxtnode_sg(h,n)) {
- g = c[n];
- if (g) {
- if (g != p) {
- printf(2,"node %s in %s and %s\n", n.name, h.name, g.name);
- exit(1);
- }
- }
- c[n] = h;
- }
- p = h;
- }
- for (g = fstsubg(h); g; g = nxtsubg(g)) {
- proc(g,p,NULL);
- }
- }
- }
- BEG_G {
- proc($,$,NULL);
- }
|