From 688c9aac61366d818bccc22bdf741628bec30b6a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 18 May 2021 21:29:29 +0100 Subject: [PATCH] specs: Pass a spec-obtainer closure to reset_game_from_spec Signed-off-by: Ian Jackson --- daemon/cmdlistener.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index 452a7fbc..a74bd337 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -559,11 +559,13 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( ag: &'_ mut AccountsGuard, ig: &'igr mut Unauthorised, InstanceName>, who: &'_ Html, - spec_toml: String, + get_spec_toml: Box Result>, ) -> ExecuteGameInsnResults<'igr, 'ig> { - reset_game(cs,ag,ig, Box::new(|_ig, insns|{ - let spec: toml::Value = spec_toml.parse() + reset_game(cs,ag,ig, Box::new(|ig, insns|{ + let spec = get_spec_toml(ig)?; + let spec: toml::Value = spec.parse() .map_err(|e: toml::de::Error| ME::TomlSyntaxError(e.to_string()))?; let GameSpec { pieces, table_size, table_colour, pcaliases, @@ -689,7 +691,7 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( }))? } MGI::ResetFromGameSpec { spec_toml: spec } => { - reset_game_from_spec(cs,ag,ig,who, spec)? + reset_game_from_spec(cs,ag,ig,who, Box::new(|_| Ok::<_,ME>(spec)))? } MGI::InsnMark(token) => { -- 2.30.2