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()}