aboutsummaryrefslogtreecommitdiff
path: root/src/solve/main.c
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2019-01-15 21:10:27 -0500
committerPaul Duncan <pabs@pablotron.org>2019-01-15 21:10:27 -0500
commit19a5965400f9a252adf540050046d2dc3a026d13 (patch)
tree0fb29c1a0f61a38eae8f2aded462bf12e5a3d60e /src/solve/main.c
parentedbbfd40714ba9adfd770b9ccb6a0eecdc43a736 (diff)
downloadsok-19a5965400f9a252adf540050046d2dc3a026d13.tar.bz2
sok-19a5965400f9a252adf540050046d2dc3a026d13.zip
add sok_solve_cbs_t and refactor code to use it
Diffstat (limited to 'src/solve/main.c')
-rw-r--r--src/solve/main.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/solve/main.c b/src/solve/main.c
index 140cfc5..b8b966f 100644
--- a/src/solve/main.c
+++ b/src/solve/main.c
@@ -7,11 +7,18 @@
static void
solve_on_error(
- const char * const err
+ const char * const err,
+ void *user_data
) {
+ UNUSED(user_data);
die("Error solving level: %s", err);
}
+static const sok_solve_cbs_t
+SOLVE_CBS = {
+ .on_error = solve_on_error,
+};
+
int main(int argc, char *argv[]) {
// init context
sok_ctx_t ctx;
@@ -30,7 +37,7 @@ int main(int argc, char *argv[]) {
}
// solve level
- if (!sok_solve(&ctx, solve_on_error)) {
+ if (!sok_solve(&ctx, &SOLVE_CBS, NULL)) {
die("Couldn't solve level: %d", (int) level_num);
}
}