Fix some dag printing goofs.

Typo and no node recursion.
This commit is contained in:
Bill Currie 2012-07-15 21:09:13 +09:00
parent 8015e1b1e9
commit b7b6294d87

View file

@ -55,22 +55,28 @@ print_node (dstring_t *dstr, dagnode_t *node)
dasprintf (dstr, " \"dag_%p\" [label=\"bad node\"];\n", node); dasprintf (dstr, " \"dag_%p\" [label=\"bad node\"];\n", node);
return; return;
} }
if (node->a) if (node->a) {
dasprintf (dstr, " \"dag_%p\" -> \"dag_%p\" [label=a];\n", node, dasprintf (dstr, " \"dag_%p\" -> \"dag_%p\" [label=a];\n", node,
node->a); node->a);
if (node->b) print_node (dstr, node->a);
}
if (node->b) {
dasprintf (dstr, " \"dag_%p\" -> \"dag_%p\" [label=b];\n", node, dasprintf (dstr, " \"dag_%p\" -> \"dag_%p\" [label=b];\n", node,
node->b); node->b);
if (node->c) print_node (dstr, node->b);
}
if (node->c) {
dasprintf (dstr, " \"dag_%p\" -> \"dag_%p\" [label=c];\n", node, dasprintf (dstr, " \"dag_%p\" -> \"dag_%p\" [label=c];\n", node,
node->c); node->c);
print_node (dstr, node->c);
}
dasprintf (dstr, " \"dag_%p\" [%slabel=\"%s\"];\n", node, dasprintf (dstr, " \"dag_%p\" [%slabel=\"%s\"];\n", node,
node->a ? "" : "shape=none,", daglabel_string (node->label)); node->a ? "" : "shape=none,", daglabel_string (node->label));
if (node->identifiers) { if (node->identifiers) {
daglabel_t *id; daglabel_t *id;
dasprintf (dstr, " \"dag_%p\" -> \"dagid_%p\";\n", node, node); dasprintf (dstr, " \"dag_%p\" -> \"dagid_%p\";\n", node, node);
dasprintf (dstr, " \"dagid_%p\" [shap=none,label=<\n", node); dasprintf (dstr, " \"dagid_%p\" [shape=none,label=<\n", node);
dasprintf (dstr, " <table border=\"0\" cellborder=\"1\" " dasprintf (dstr, " <table border=\"0\" cellborder=\"1\" "
"cellspacing=\"0\">\n"); "cellspacing=\"0\">\n");
dasprintf (dstr, " <tr>\n"); dasprintf (dstr, " <tr>\n");