X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/0b236a42885cb148f9a7586b17fe7fdf1c285d6a..9537a20c2976c1a12380c91609eb8d383ef2c52e:/gtk.c diff --git a/gtk.c b/gtk.c index 1af877c..c156651 100644 --- a/gtk.c +++ b/gtk.c @@ -2698,13 +2698,23 @@ int main(int argc, char **argv) char *realname = snewn(40 + strlen(savefile) + strlen(savesuffix), char); sprintf(realname, "%s%d%s", savefile, i, savesuffix); + + if (soln) { + char *err = midend_solve(me); + if (err) { + fprintf(stderr, "%s: unable to show solution: %s\n", + realname, err); + return 1; + } + } + ctx.fp = fopen(realname, "w"); if (!ctx.fp) { fprintf(stderr, "%s: open: %s\n", realname, strerror(errno)); return 1; } - sfree(realname); + ctx.error = 0; midend_serialise(me, savefile_write, &ctx); if (ctx.error) { fprintf(stderr, "%s: write: %s\n", realname, @@ -2716,6 +2726,7 @@ int main(int argc, char **argv) strerror(errno)); return 1; } + sfree(realname); } if (!doc && !savefile) { id = midend_get_game_id(me);