shithub: puzzles

Download patch

ref: df3b9cb845d5641dab16cbe071dca0ac2b7a97fb
parent: ff218728c6953ede1957ddb5b039bcb2ba920a44
author: Simon Tatham <anakin@pobox.com>
date: Sun Sep 24 12:56:18 EDT 2017

Avoid macro-generating a trailing comma in an enum.

gcc objects to this in -pedantic mode, which means other compilers are
technically entitled to object too if they like. Usually I try to
avoid it by putting a dummy value at the end of the enum, but I forgot
in this case.

(And I didn't notice, because _my_ local builds run without -pedantic,
on the grounds that configure.ac autodetects that my system's GTK
headers are not pedantic-clean. Oh well.)

--- a/loopy.c
+++ b/loopy.c
@@ -288,7 +288,7 @@
     {amin, omin, \
      "Width and height for this grid type must both be at least " #amin, \
      "At least one of width and height for this grid type must be at least " #omin,},
-enum { GRIDLIST(GRID_LOOPYTYPE) };
+enum { GRIDLIST(GRID_LOOPYTYPE) LOOPY_GRID_DUMMY_TERMINATOR };
 static char const *const gridnames[] = { GRIDLIST(GRID_NAME) };
 #define GRID_CONFIGS GRIDLIST(GRID_CONFIG)
 static grid_type grid_types[] = { GRIDLIST(GRID_GRIDTYPE) };