shithub: puzzles

Download patch

ref: 7f4d038258d2bd585a0dce87177bf429d168ffb5
parent: 304796f9f184a783d0af21e445c690ed69de048b
author: Ben Harris <bjh21@bjh21.me.uk>
date: Sun Oct 16 20:59:18 EDT 2022

Assert that everything written to a save file is printable ASCII

Apart from the newlines of course.

--- a/midend.c
+++ b/midend.c
@@ -2019,7 +2019,9 @@
     char lbuf[9];                               \
     copy_left_justified(lbuf, sizeof(lbuf), h); \
     sprintf(hbuf, "%s:%d:", lbuf, (int)strlen(str)); \
+    assert_printable_ascii(hbuf); \
     write(wctx, hbuf, strlen(hbuf)); \
+    assert_printable_ascii(str); \
     write(wctx, str, strlen(str)); \
     write(wctx, "\n", 1); \
 } while (0)
@@ -2115,7 +2117,6 @@
      */
     if (me->ui) {
         char *s = me->ourgame->encode_ui(me->ui);
-	assert_printable_ascii(s);
         if (s) {
             wr("UI", s);
             sfree(s);