+ * Iterator callback function.
+ *
+ * @param cls closure.
+ * @param key hash for current state.
+ * @param proof proof for current state.
+ * @param accepting GNUNET_YES if this is an accepting state, GNUNET_NO if not.
+ * @param num_edges number of edges leaving current state.
+ * @param edges edges leaving current state.
+ */
+static void
+iter (void *cls,
+ const struct GNUNET_HashCode *key,
+ const char *proof,
+ int accepting,
+ unsigned int num_edges,
+ const struct REGEX_BLOCK_Edge *edges)
+{
+ unsigned int i;
+
+ printf ("%s: %s\n", GNUNET_h2s (key), accepting ? "ACCEPTING" : "");
+ printf (" proof: %s\n", proof);
+ for (i = 0; i < num_edges; i++)
+ {
+ printf (" %s: %s\n", edges[i].label, GNUNET_h2s (&edges[i].destination));
+ }
+}
+
+static void
+print_dfa (struct REGEX_INTERNAL_Automaton* dfa)
+{
+ REGEX_INTERNAL_iterate_all_edges (dfa, iter, NULL);
+}
+
+/**
+ * The main function of the regex performace test.
+ *
+ * Read a set of regex from a file, combine them and create a DFA from the
+ * resulting combined regex.