aboutsummaryrefslogtreecommitdiff
path: root/src/graphs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphs.c')
-rw-r--r--src/graphs.c144
1 files changed, 0 insertions, 144 deletions
diff --git a/src/graphs.c b/src/graphs.c
deleted file mode 100644
index 51a26117..00000000
--- a/src/graphs.c
+++ /dev/null
@@ -1,144 +0,0 @@
-#include "graphs.h"
-
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include "err.h"
-
-// #define TYPE strbuf
-// #include "linked_list.h"
-// #include "linked_list.inc.h"
-// #undef TYPE
-
-int create_graph_trie (vcomponent* ev, char* filename) {
- FILE* f = fopen(filename, "w");
-
- fputs("digraph {\n rankdir=LR;", f);
- trie_to_dot(&ev->clines, f);
- fputs("}", f);
-
- fclose(f);
-
- INFO_F("Wrote '%s' to '%s'", vcomponent_get_val(ev, "X-HNH-FILENAME"), filename);
-
- return 0;
-}
-
-int helper_vcomponent (vcomponent* root, FILE* f) {
- fprintf(f, "subgraph \"cluster_root\" { label=File; \"%p\" [label=%s] }\n", root, root->type);
-
- TRIE(content_line)* trie = &root->clines;
- TRIE_NODE(content_line)* n = trie->root->child;
-
- if (! EMPTY(TRIE(content_line))(trie)) {
- fprintf(f, "subgraph \"cluster_%p\" {\n", root);
- fprintf(f, "\"%p\" [label=trie fontcolor=gray, color=gray];", trie);
- fprintf(f, "\"%p\" -> \"%p\" [color=red]\n", root, trie);
- while (n != NULL) {
- fprintf(f, "\"%p\" -> \"%p\" [color=gray]\n",
- (void*) trie,
- (void*) n);
- fprintf(f, "subgraph \"cluster_%c_%p\" {\ncolor=red; \n",
- n->c, root);
- trie_to_dot_helper( n, f );
-
-
- fputs("}", f);
- n = n->next;
- }
- fputs("}", f);
- }
-
- FOR(LLIST, vcomponent, child, &root->components) {
- fprintf(f, "\"%p\" -> \"%p\"\n", root, child);
- helper_vcomponent(child, f);
- }
- return 0;
-}
-
-int create_graph_vcomponent (vcomponent* root, char* outfile) {
- FILE* f = fopen(outfile, "w");
- if (f == NULL) {
- ERR_F("Error opening file %s, errno = %i", outfile, errno);
- return 1;
- }
- vcomponent* c = root;
- fputs("digraph {", f);
- helper_vcomponent(c, f);
- fputs("}", f);
- fclose(f);
- return 0;
-}
-
-#define T content_line
-
-int trie_to_dot ( TRIE(T)* trie, FILE* f ) {
- TRIE_NODE(T)* n = trie->root->child;
- fprintf(f, "\"%p\" [label=root fontcolor=gray, color=gray];", trie);
- while (n != NULL) {
- fprintf(f, "\"%p\" -> \"%p\" [color=gray]\n",
- (void*) trie,
- (void*) n);
- fprintf(f, "subgraph \"cluster_%c\" {\n",
- n->c);
- trie_to_dot_helper( n, f );
- fputs("}", f);
- n = n->next;
- }
- return 0;
-}
-
-int trie_to_dot_helper ( TRIE_NODE(T)* root, FILE* f ) {
- if (L(root) == NULL) {
- fprintf(f, "\"%p\"[label = \"%c\" style=filled fillcolor=white];\n",
- (void*) root, root->c);
- } else {
- fprintf(f, "\"%p\"[label = \"%c [%i]\" style=filled fillcolor=green];\n",
- (void*) root, root->c,
- SIZE(LLIST(content_set))(L(root))
- );
- }
- TRIE_NODE(T)* child = root->child;
-
- // ----------------------------------------
-#if 1 /* Toggle values */
- if (L(root) != NULL) {
-
- FOR(LLIST, content_set, v, L(root)) {
- char buf[0x100];
- FMT(strbuf)(&v->key, buf);
- fprintf(f, "\"%p\" [label=\"%s\" shape=rectangle color=darkgreen];\n",
- v, buf);
- /* Edge between TRIE char node and data node */
- fprintf(f, "\"%p\" -> \"%p\";\n", root, v);
-
- /* Parameters */
- LLIST(strbuf)* keys = KEYS(TRIE(param_set))(&v->val);
- FOR(LLIST, strbuf, key, keys) {
- param_set* p = GET(TRIE(param_set))(&v->val, key->mem);
-
- fprintf(f, "\"%p\" [label=\"%s\" color=blue];\n",
- key, key->mem);
- /* Edge between data node and param key node */
- fprintf(f, "\"%p\" -> \"%p\";", v, key);
-
- FOR(LLIST, strbuf, str, p) {
- fprintf(f, "\"%p\" [label=\"%s\" color=orange];",
- str, str->mem);
- /* Edge between param key node and param value node */
- fprintf(f, "\"%p\" -> \"%p\";", key, str);
- }
- }
- }
- }
-#endif
- // ----------------------------------------
-
- while (child != NULL) {
- fprintf(f, "\"%p\" -> \"%p\";\n",
- (void*) root, (void*) child);
- trie_to_dot_helper(child, f);
- child = child->next;
- }
- return 0;
-}