ref: 8fb4cd031ae0bdcab133049c8683b41ac41d4000
parent: 20b56788bc61de5b3d10c90a9fd588d373134aae
author: Simon Tatham <anakin@pobox.com>
date: Tue Nov 13 16:40:23 EST 2018
Adopt C99 bool in the findloop API. This shouldn't be a disruptive change at all: findloop_run and findloop_is_loop_edge now return bool in place of int, but client code should automatically adjust without needing any changes.
--- a/findloop.c
+++ b/findloop.c
@@ -37,7 +37,7 @@
sfree(state);
}
-int findloop_is_loop_edge(struct findloopstate *pv, int u, int v)
+bool findloop_is_loop_edge(struct findloopstate *pv, int u, int v)
{
/*
* Since the algorithm is intended for finding bridges, and a
@@ -56,8 +56,8 @@
return !(pv[u].bridge == v || pv[v].bridge == u);
}
-int findloop_run(struct findloopstate *pv, int nvertices,
- neighbour_fn_t neighbour, void *ctx)
+bool findloop_run(struct findloopstate *pv, int nvertices,
+ neighbour_fn_t neighbour, void *ctx)
{
int u, v, w, root, index;
int nbridges, nedges;
--- a/puzzles.h
+++ b/puzzles.h
@@ -580,22 +580,22 @@
typedef int (*neighbour_fn_t)(int vertex, void *ctx);
/*
* Actual function to find loops. 'ctx' will be passed unchanged to
- * the 'neighbour' function to query graph edges. Returns FALSE if no
- * loop was found, or TRUE if one was.
+ * the 'neighbour' function to query graph edges. Returns false if no
+ * loop was found, or true if one was.
*/
-int findloop_run(struct findloopstate *state, int nvertices,
- neighbour_fn_t neighbour, void *ctx);
+bool findloop_run(struct findloopstate *state, int nvertices,
+ neighbour_fn_t neighbour, void *ctx);
/*
* Query whether an edge is part of a loop, in the output of
* find_loops.
*
* Due to the internal storage format, if you pass u,v which are not
- * connected at all, the output will be TRUE. (The algorithm actually
+ * connected at all, the output will be true. (The algorithm actually
* stores an exhaustive list of *non*-loop edges, because there are
* fewer of those, so really it's querying whether the edge is on that
* list.)
*/
-int findloop_is_loop_edge(struct findloopstate *state, int u, int v);
+bool findloop_is_loop_edge(struct findloopstate *state, int u, int v);
/*
* Data structure containing the function calls and data specific