/*
This file is part of GNUnet
- (C) 2012 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2012 GNUnet e.V.
- GNUnet is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Affero General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
+ */
/**
* @file src/regex/regex_test_graph.c
* @brief functions for creating .dot graphs from regexes
/**
* Context for graph creation. Passed as the cls to
- * REGEX_ITERNAL_automaton_save_graph_step.
+ * REGEX_TEST_automaton_save_graph_step.
*/
-struct REGEX_ITERNAL_Graph_Context
+struct REGEX_TEST_Graph_Context
{
/**
* File pointer to the dot file used for output.
*/
static void
scc_tarjan_strongconnect (unsigned int *scc_counter,
- struct REGEX_ITERNAL_State *v, unsigned int *index,
- struct REGEX_ITERNAL_State **stack,
+ struct REGEX_INTERNAL_State *v, unsigned int *index,
+ struct REGEX_INTERNAL_State **stack,
unsigned int *stack_size)
{
- struct REGEX_ITERNAL_State *w;
- struct REGEX_ITERNAL_Transition *t;
+ struct REGEX_INTERNAL_State *w;
+ struct REGEX_INTERNAL_Transition *t;
v->index = *index;
v->lowlink = *index;
* @param a the automaton for which SCCs should be computed and assigned.
*/
static void
-scc_tarjan (struct REGEX_ITERNAL_Automaton *a)
+scc_tarjan (struct REGEX_INTERNAL_Automaton *a)
{
unsigned int index;
unsigned int scc_counter;
- struct REGEX_ITERNAL_State *v;
- struct REGEX_ITERNAL_State *stack[a->state_count];
+ struct REGEX_INTERNAL_State *v;
+ struct REGEX_INTERNAL_State *stack[a->state_count];
unsigned int stack_size;
for (v = a->states_head; NULL != v; v = v->next)
/**
* Save a state to an open file pointer. cls is expected to be a file pointer to
* an open file. Used only in conjunction with
- * REGEX_ITERNAL_automaton_save_graph.
+ * REGEX_TEST_automaton_save_graph.
*
* @param cls file pointer.
* @param count current count of the state, not used.
* @param s state.
*/
void
-REGEX_ITERNAL_automaton_save_graph_step (void *cls, unsigned int count,
- struct REGEX_ITERNAL_State *s)
+REGEX_TEST_automaton_save_graph_step (void *cls, unsigned int count,
+ struct REGEX_INTERNAL_State *s)
{
- struct REGEX_ITERNAL_Graph_Context *ctx = cls;
- struct REGEX_ITERNAL_Transition *ctran;
+ struct REGEX_TEST_Graph_Context *ctx = cls;
+ struct REGEX_INTERNAL_Transition *ctran;
char *s_acc = NULL;
char *s_tran = NULL;
char *name;
* mode
*/
void
-REGEX_ITERNAL_automaton_save_graph (struct REGEX_ITERNAL_Automaton *a,
- const char *filename,
- enum REGEX_ITERNAL_GraphSavingOptions options)
+REGEX_TEST_automaton_save_graph (struct REGEX_INTERNAL_Automaton *a,
+ const char *filename,
+ enum REGEX_TEST_GraphSavingOptions options)
{
char *start;
char *end;
- struct REGEX_ITERNAL_Graph_Context ctx;
+ struct REGEX_TEST_Graph_Context ctx;
if (NULL == a)
{
return;
}
- if (NULL == filename || strlen (filename) < 1)
+ if ((NULL == filename)||(strlen (filename) < 1))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No Filename given!");
return;
ctx.filep = fopen (filename, "w");
ctx.verbose =
- (0 == (options & REGEX_ITERNAL_GRAPH_VERBOSE)) ? GNUNET_NO : GNUNET_YES;
+ (0 == (options & REGEX_TEST_GRAPH_VERBOSE)) ? GNUNET_NO : GNUNET_YES;
ctx.coloring =
- (0 == (options & REGEX_ITERNAL_GRAPH_COLORING)) ? GNUNET_NO : GNUNET_YES;
+ (0 == (options & REGEX_TEST_GRAPH_COLORING)) ? GNUNET_NO : GNUNET_YES;
if (NULL == ctx.filep)
{
start = "digraph G {\nrankdir=LR\n";
fwrite (start, strlen (start), 1, ctx.filep);
- REGEX_ITERNAL_automaton_traverse (a, a->start, NULL, NULL,
- ®EX_ITERNAL_automaton_save_graph_step,
- &ctx);
+ REGEX_INTERNAL_automaton_traverse (a, a->start, NULL, NULL,
+ ®EX_TEST_automaton_save_graph_step,
+ &ctx);
end = "\n}\n";
fwrite (end, strlen (end), 1, ctx.filep);