mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-20 07:31:30 -07:00

A user reported that, on the default square board size, the clues were printed in the right places, but the grid contents were accidentally transposed by swapping the x and y coordinates. Oops! Trying to reproduce this, my dev build was running under ASan, which pointed out two further buffer handling bugs. The initial sprintf put the terminating NUL one char too early in the buffer, so that it was overwritten by the bottom right corner of the grid and no NUL ended up in the buffer at all; also, the separate buffer for formatting numeric clues in the left margin was sized one char too short, because the NUL at the end of it hadn't been counted. Apparently in a non-ASan environment both of those could work anyway by chance.
This is the README accompanying the source code to Simon Tatham's puzzle collection. The collection's web site is at <https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>. The puzzle collection is built using CMake <https://cmake.org/>. To compile in the simplest way (on any of Linux, Windows or Mac), run these commands in the source directory: cmake . cmake --build . The manual is provided in Windows Help format for the Windows build; in text format for anyone who needs it; and in HTML for the Mac OS X application and for the web site. It is generated from a Halibut source file (puzzles.but), which is the preferred form for modification. To generate the manual in other formats, rebuild it, or learn about Halibut, visit the Halibut website at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
Languages
C
93.3%
JavaScript
1.4%
Objective-C
1.1%
CMake
1.1%
HTML
0.8%
Other
2.2%