};
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();
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));
}
},
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() {
},
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 {
pub fn read<T:DeserializeOwned>(&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
}