with rank=max or rank=sink. b7.dot still dumps core.
edge_t* e;
rank_t* rp;
- for (r = GD_minrank(g); r < GD_maxrank(g); r++) {
+ for (r = GD_minrank(g); r <= GD_maxrank(g); r++) {
rp = GD_rank(g)+r;
found =FALSE;
tp = NULL;
}
if (found || !tp) continue;
tp = rp->v[0];
- hp = (rp+1)->v[0];
+ if (r < GD_maxrank(g)) hp = (rp+1)->v[0];
+ else hp = (rp-1)->v[0];
assert (hp);
sn = virtual_node(g);
ND_node_type(sn) = SLACKNODE;
decompose(g, 0);
acyclic(g);
minmax_edges2(g, p);
+ decompose(g, 0);
#ifdef ALLOW_LEVELS
if ((N_level = agfindattr(g->proto->n, "level")))
setRanks(g, N_level);