The .v and .av members of the structs being used here are node_t**s. So the
addition of an integer results in a node_t**. This does not seem like what was
intended to be printed here, but rather the integer value being added. This
issue was found by adding __attribute__((format(printf, 2, 3))) to agerr() and
then using compiler flag -Werror=format.
if (GD_rank(g)[r].v + ND_order(n) >
GD_rank(g)[r].av + GD_rank(Root)[r].an) {
agerr(AGERR, "install_in_rank, line %d: GD_rank(g)[%d].v + ND_order(%s) [%d] > GD_rank(g)[%d].av + GD_rank(Root)[%d].an [%d]\n",
- __LINE__, r, agnameof(n),GD_rank(g)[r].v + ND_order(n), r, r, GD_rank(g)[r].av+GD_rank(Root)[r].an);
+ __LINE__, r, agnameof(n),ND_order(n), r, r, GD_rank(Root)[r].an);
return;
}
}