shithub: puzzles

Download patch

ref: 72b28b5e71b05e7775d14b1e3e2e00b82af4d87a
parent: 84cb4c6701e027090ff3fd955ce08065e20121b2
author: Simon Tatham <anakin@pobox.com>
date: Mon Mar 29 14:13:38 EDT 2021

Fix bit rot in the 'unfinished' subdir.

Several of the source files here won't quite compile any more, because
of minor things like const-correctness and the UI_UPDATE change. Now
they should all build again (without prejudice to how useful they are
once they have built).

The biggest change was to remove the fatal() implementation from the
standalone path.c, because my new plan is that basically everything
that's not linked against a true puzzle frontend will be linked
against nullfe.c, which provides that function anyway.

--- a/unfinished/numgame.c
+++ b/unfinished/numgame.c
@@ -146,7 +146,7 @@
      * Text display of the operator, in expressions and for
      * debugging respectively.
      */
-    char *text, *dbgtext;
+    const char *text, *dbgtext;
 
     /*
      * Flags dictating when the operator can be applied.
@@ -1020,7 +1020,7 @@
 	 * operand, then write the operator, then the second
 	 * operand, and finally close the paren.
 	 */
-	char *op;
+	const char *op;
 	int parens, thispri, thisassoc;
 
 	/*
--- a/unfinished/path.c
+++ b/unfinished/path.c
@@ -4,6 +4,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <assert.h>
 #include "puzzles.h"
 
@@ -530,7 +531,7 @@
 
 	    ctx->sparepathends[i*2] = first;
 	    ctx->sparepathends[i*2+1] = last;
-//printf("new ends of path %d: %d,%d\n", i, first, last);
+/* printf("new ends of path %d: %d,%d\n", i, first, last); */
 	    ctx->pathspare[i] = 2;     /* fixed */
 	}
     }
@@ -839,7 +840,7 @@
 int main(void)
 {
     int w = 10, h = 8;
-    random_state *rs = random_init("12345", 5);
+    random_state *rs = random_new("12345", 5);
     int x, y, i, *grid;
 
     for (i = 0; i < 10; i++) {
@@ -861,23 +862,5 @@
     }
 
     return 0;
-}
-#endif
-
-#ifdef TEST_GENERAL
-#include <stdarg.h>
-
-void fatal(const char *fmt, ...)
-{
-    va_list ap;
-
-    fprintf(stderr, "fatal error: ");
-
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-
-    fprintf(stderr, "\n");
-    exit(1);
 }
 #endif
--- a/unfinished/slide.c
+++ b/unfinished/slide.c
@@ -899,7 +899,7 @@
     int *link;
     int mains = 0;
     int i, tx, ty, minmoves;
-    char *ret;
+    const char *ret;
 
     active = snewn(wh, bool);
     link = snewn(wh, int);
@@ -1395,7 +1395,7 @@
 	    sprintf(data, "M%d-%d", ui->drag_anchor, ui->drag_currpos);
 	    str = dupstr(data);
 	} else
-	    str = "";		       /* null move; just update the UI */
+	    str = UI_UPDATE;
 	
 	ui->dragging = false;
 	ui->drag_anchor = ui->drag_currpos = -1;