diff options
author | Paul Duncan <pabs@pablotron.org> | 2019-01-15 21:10:27 -0500 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2019-01-15 21:10:27 -0500 |
commit | 19a5965400f9a252adf540050046d2dc3a026d13 (patch) | |
tree | 0fb29c1a0f61a38eae8f2aded462bf12e5a3d60e /src/sdl | |
parent | edbbfd40714ba9adfd770b9ccb6a0eecdc43a736 (diff) | |
download | sok-19a5965400f9a252adf540050046d2dc3a026d13.tar.bz2 sok-19a5965400f9a252adf540050046d2dc3a026d13.zip |
add sok_solve_cbs_t and refactor code to use it
Diffstat (limited to 'src/sdl')
-rw-r--r-- | src/sdl/main.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/sdl/main.c b/src/sdl/main.c index 46f30c3..c3a9abe 100644 --- a/src/sdl/main.c +++ b/src/sdl/main.c @@ -60,11 +60,18 @@ load_font( 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, +}; + static void set_level( draw_ctx_t * const draw_ctx, @@ -233,7 +240,7 @@ int main(int argc, char *argv[]) { // get current number of moves const size_t old_num_moves = ctx.num_moves; - if (sok_solve(&ctx, solve_on_error)) { + if (sok_solve(&ctx, &SOLVE_CBS, NULL)) { // found solution, print it log_moves(&ctx, old_num_moves); } else { |