C99 `bool`s instead of Graphviz-specific `boolean`s.
- **Breaking**: The `usershape` field of the `shape_desc` struct is now a C99
`bool` instead of a Graphviz-specific `boolean`.
+- **Breaking**: The `candidate` and `valid` fields of the `rank_t` struct are
+ now C99 `bool`s instead of Graphviz-specific `boolean`s.
- **Breaking**: Graphviz headers no longer define the constant `MAXSHORT`. A
drop-in replacement is `SHRT_MAX` in the C standard library’s limits.h.
- **Breaking**: Graphviz headers no lnger define `NIL` macros. A drop-in
#include <assert.h>
#include <dotgen/dot.h>
+#include <stdbool.h>
static node_t*
map_interclust_node(node_t * n)
root = dot_root(subg);
if (GD_minrank(subg) > 0)
- GD_rank(root)[GD_minrank(subg) - 1].valid = FALSE;
+ GD_rank(root)[GD_minrank(subg) - 1].valid = false;
for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) {
d = GD_rank(subg)[r].n;
ipos = pos = ND_order(GD_rankleader(subg)[r]);
GD_n_nodes(root)++;
}
GD_rank(subg)[r].v = GD_rank(root)[r].v + ipos;
- GD_rank(root)[r].valid = FALSE;
+ GD_rank(root)[r].valid = false;
}
if (r < GD_maxrank(root))
- GD_rank(root)[r].valid = FALSE;
+ GD_rank(root)[r].valid = false;
GD_expanded(subg) = TRUE;
}
for (r = GD_maxrank(g); r >= GD_minrank(g); r--) {
- GD_rank(g)[r].candidate = FALSE;
+ GD_rank(g)[r].candidate = false;
for (i = 0; i < GD_rank(g)[r].n - 1; i++) {
v = GD_rank(g)[r].v[i];
w = GD_rank(g)[r].v[i + 1];
node_t *v, *w;
rv = 0;
- GD_rank(g)[r].candidate = FALSE;
+ GD_rank(g)[r].candidate = false;
for (i = 0; i < GD_rank(g)[r].n - 1; i++) {
v = GD_rank(g)[r].v[i];
w = GD_rank(g)[r].v[i + 1];
if (c1 < c0 || (c0 > 0 && reverse && c1 == c0)) {
exchange(v, w);
rv += c0 - c1;
- GD_rank(Root)[r].valid = FALSE;
- GD_rank(g)[r].candidate = TRUE;
+ GD_rank(Root)[r].valid = false;
+ GD_rank(g)[r].candidate = true;
if (r > GD_minrank(g)) {
- GD_rank(Root)[r - 1].valid = FALSE;
- GD_rank(g)[r - 1].candidate = TRUE;
+ GD_rank(Root)[r - 1].valid = false;
+ GD_rank(g)[r - 1].candidate = true;
}
if (r < GD_maxrank(g)) {
- GD_rank(Root)[r + 1].valid = FALSE;
- GD_rank(g)[r + 1].candidate = TRUE;
+ GD_rank(Root)[r + 1].valid = false;
+ GD_rank(g)[r + 1].candidate = true;
}
}
}
int r, delta;
for (r = GD_minrank(g); r <= GD_maxrank(g); r++)
- GD_rank(g)[r].candidate = TRUE;
+ GD_rank(g)[r].candidate = true;
do {
delta = 0;
for (r = GD_minrank(g); r <= GD_maxrank(g); r++) {
}
}
for (r = GD_minrank(g); r <= GD_maxrank(g); r++) {
- GD_rank(Root)[r].valid = FALSE;
+ GD_rank(Root)[r].valid = false;
qsort(GD_rank(g)[r].v, GD_rank(g)[r].n, sizeof(GD_rank(g)[0].v[0]),
(qsort_cmpf) nodeposcmpf);
}
if (dequeue(q))
agerr(AGERR, "surprise\n");
for (i = GD_minrank(g); i <= GD_maxrank(g); i++) {
- GD_rank(Root)[i].valid = FALSE;
+ GD_rank(Root)[i].valid = false;
if (GD_flip(g) && GD_rank(g)[i].n > 0) {
int n, ndiv2;
node_t **vlist = GD_rank(g)[i].v;
/* postprocess to restore intended order */
}
/* else do no harm! */
- GD_rank(Root)[r].valid = FALSE;
+ GD_rank(Root)[r].valid = false;
}
if (temprank)
free(temprank);
}
if (changed) {
- GD_rank(Root)[r].valid = FALSE;
+ GD_rank(Root)[r].valid = false;
if (r > 0)
- GD_rank(Root)[r - 1].valid = FALSE;
+ GD_rank(Root)[r - 1].valid = false;
}
}
else {
nc = GD_rank(g)[r].cache_nc = rcross(g, r);
count += nc;
- GD_rank(g)[r].valid = TRUE;
+ GD_rank(g)[r].valid = true;
}
}
return count;