shithub: puzzles

Download patch

ref: 71e1776094aa9240e9772b7fbc99dd5e2f4e1acb
parent: 0bd1a8057841386754f9f4a8a268616c7ce80e80
author: Simon Tatham <anakin@pobox.com>
date: Sun Apr 2 06:20:37 EDT 2023

Move hat-test into its own source file.

I noticed while hacking on hat-test recently that it's quite awkward
to be compiling a test main() program that lives in a source file also
built into the Puzzles support library, because every modification to
main() also triggers a rebuild of the library, and thence of all the
actual puzzles. So it's better if such a test main() has its own
source file.

In order to make hat-test work standalone, I've had to move a lot of
hat.c's internal declarations out into a second header file. This also
means making a bunch of internal functions global, which means they're
also in the namespace of programs other than hat-test, which means in
turn that they should have names with less implicit context.