From: Ian Jackson Date: Wed, 18 Nov 2020 21:58:57 +0000 (+0000) Subject: fixes X-Git-Tag: otter-0.2.0~474 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=ad306f11492cdcce9405259a1e7a6a3851cedf89;p=otter.git fixes Signed-off-by: Ian Jackson --- diff --git a/src/bin/otter.rs b/src/bin/otter.rs index 0be79295..ce0390b7 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -676,6 +676,8 @@ mod reset_game { }; let game : GameSpec = read_spec(&args.game_file, "game spec")?; + let mut insns = vec![]; + if let Some(table_file) = args.table_file { let table_spec = read_spec(&table_file, "table spec")?; let game = chan.game.clone(); @@ -689,11 +691,9 @@ mod reset_game { Err(e) })?; - setup_table(&ma, &table_spec)?; + insns.extend(setup_table(&ma, &table_spec)?); } - let mut insns = vec![]; - for p in chan.get_pieces()? { insns.push(MgmtGameInstruction::DeletePiece(p.piece)); } diff --git a/src/cmdlistener.rs b/src/cmdlistener.rs index b17e7382..1bcce648 100644 --- a/src/cmdlistener.rs +++ b/src/cmdlistener.rs @@ -493,7 +493,6 @@ fn execute_game_insn<'cs, 'igr, 'ig : 'igr>( }, ClearLog => { - let ag = AccountsGuard::lock(); let (ig, _) = cs.check_acl(&ag, ig, PCH::Instance, &[TP::Super])?; ig.gs.log.clear(); for ipr in ig.iplayers.values_mut() { @@ -515,7 +514,6 @@ fn execute_game_insn<'cs, 'igr, 'ig : 'igr>( }, SetACL { acl } => { - let ag = AccountsGuard::lock(); let (ig, _) = cs.check_acl(&ag, ig, PCH::Instance, &[TP::Super])?; ig.acl = acl.into(); let mut log = vec![ LogEntry { diff --git a/src/mgmtchannel.rs b/src/mgmtchannel.rs index edef163f..6325f51a 100644 --- a/src/mgmtchannel.rs +++ b/src/mgmtchannel.rs @@ -33,8 +33,8 @@ impl MgmtChannel { pub fn read(&mut self) -> T { use MgmtChannelReadError::*; let l = self.read.next().ok_or(EOF)??; - let v = serde_json::from_str(&l) - .map_err(|e| Parse(format!("{}", &e)))?; + let r = serde_json::from_str(&l); + let v = r.map_err(|e| Parse(format!("{}", &e)))?; v }