From 98b8339bceb833eb2419bc349547cb8342e4be1a Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Tue, 27 Feb 2024 18:33:31 +0100 Subject: Print solutions to stderr when using -v --- src/alg.c | 14 +++++++------- src/alg.h | 4 ++-- src/commands.c | 12 ++++++------ src/solve.c | 3 ++- 4 files changed, 17 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/alg.c b/src/alg.c index f00453d..fbe1105 100644 --- a/src/alg.c +++ b/src/alg.c @@ -423,7 +423,7 @@ on_inverse(Alg *alg) } void -print_alg(Alg *alg, bool l) +print_alg(FILE *out, Alg *alg, bool l) { char fill[4]; int i; @@ -437,25 +437,25 @@ print_alg(Alg *alg, bool l) if (niss == alg->inv[i]) strcpy(fill, i == 0 ? "" : " "); - printf("%s%s", fill, move_string(alg->move[i])); + fprintf(out, "%s%s", fill, move_string(alg->move[i])); niss = alg->inv[i]; } if (niss) - printf(")"); + fprintf(out, ")"); if (l) - printf(" (%d)", alg->len); + fprintf(out, " (%d)", alg->len); - printf("\n"); + fprintf(out, "\n"); } void -print_alglist(AlgList *al, bool l) +print_alglist(FILE *out, AlgList *al, bool l) { AlgListNode *i; for (i = al->first; i != NULL; i = i->next) - print_alg(i->alg, l); + print_alg(out, i->alg, l); } static void diff --git a/src/alg.h b/src/alg.h index 7d11a7d..5eead22 100644 --- a/src/alg.h +++ b/src/alg.h @@ -32,8 +32,8 @@ void moveset_to_list(Moveset ms, Move *lst); Alg * new_alg(char *str); AlgList * new_alglist(void); Alg * on_inverse(Alg *alg); -void print_alg(Alg *alg, bool l); -void print_alglist(AlgList *al, bool l); +void print_alg(FILE *out, Alg *alg, bool l); +void print_alglist(FILE *out, AlgList *al, bool l); void sort_alglist(AlgList *al); void swapmove(Move *m1, Move *m2); Alg * unniss(Alg *alg); diff --git a/src/commands.c b/src/commands.c index 1e5dd07..c65cc5f 100644 --- a/src/commands.c +++ b/src/commands.c @@ -435,7 +435,7 @@ solve_exec(CommandArgs *args) printf("%d\n", sols->len); } else { sort_alglist(sols); - print_alglist(sols, args->opts->print_number); + print_alglist(stdout, sols, args->opts->print_number); } free_alglist(sols); @@ -543,7 +543,7 @@ scramble_exec(CommandArgs *args) free_alg(aux); free_alg(ruf); } - print_alg(scr, false); + print_alg(stdout, scr, false); free_alg(scr); } } @@ -570,7 +570,7 @@ invert_exec(CommandArgs *args) Alg *inv; inv = inverse_alg(args->scramble); - print_alg(inv, false); + print_alg(stdout, inv, false); free_alg(inv); } @@ -645,7 +645,7 @@ twophase_exec(CommandArgs *args) c = apply_alg(args->scramble, (Cube){0}); sol = solve_2phase(c, 1); - print_alg(sol, false); + print_alg(stdout, sol, false); free_alg(sol); } @@ -685,7 +685,7 @@ cleanup_exec(CommandArgs *args) init_moves(); alg = cleanup(args->scramble); - print_alg(alg, false); + print_alg(stdout, alg, false); free_alg(alg); } @@ -696,7 +696,7 @@ unniss_exec(CommandArgs *args) Alg *aux; aux = unniss(args->scramble); - print_alg(aux, false); + print_alg(stdout, aux, false); free(aux); } diff --git a/src/solve.c b/src/solve.c index 5581964..1078816 100644 --- a/src/solve.c +++ b/src/solve.c @@ -156,7 +156,8 @@ dfs_check_solved(DfsArg *arg) inplace(unniss, arg->sols->last->alg); if (arg->opts->verbose) - print_alg(arg->sols->last->alg, false); + print_alg(stderr, + arg->sols->last->alg, false); } pthread_mutex_unlock(arg->sols_mutex); -- cgit v1.3