shithub: puzzles

Download patch

ref: a45f1830cf4af0fbaf2fad448f717a6458b48b24
parent: 8c5279cf75e41f1ae75b2daf0d06c883a5ae0bca
author: Ben Harris <bjh21@bjh21.me.uk>
date: Sat Jan 7 18:53:36 EST 2023

Explain what decode_ui() should do with invalid input

It can't signal an error, but it's worth documenting that it can
receive invalid input and should do what it can with it.  I assume
that failing to decode game_ui data from a newer version generally
won't be disastrous the way failing to decode a description or move
string would be.

--- a/devel.but
+++ b/devel.but
@@ -891,7 +891,10 @@
 
 This function parses a string previously output by \cw{encode_ui()},
 and writes the decoded data back into the freshly-created \c{game_ui}
-structure provided.
+structure provided.  If the string is invalid, the function should do
+the best it can, which might just mean not changing the \c{game_ui}
+structure at all.  This might happen if a save file is corrupted, or
+simply from a newer version that encodes more \c{game_ui} data.
 
 \S{backend-changed-state} \cw{changed_state()}