From: Ian Jackson Date: Sun, 31 Jan 2021 21:18:48 +0000 (+0000) Subject: hidden prep: api_wrest: Reorganise borrows X-Git-Tag: otter-0.4.0~586 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5014d8e8841b6458eaa2d5f2e03b01eff18b24b1;p=otter.git hidden prep: api_wrest: Reorganise borrows * Borrow gs.players separately. * Borrow gpl mut. * Change the order of things. We'll want this in a moment. Signed-off-by: Ian Jackson --- diff --git a/daemon/api.rs b/daemon/api.rs index 08dd25ce..437801a7 100644 --- a/daemon/api.rs +++ b/daemon/api.rs @@ -249,14 +249,16 @@ api_route!{ #[throws(ApiPieceOpError)] fn op(&self, a: ApiPieceOpArgs) -> PieceUpdate { let ApiPieceOpArgs { gs,player,piece,p,lens, .. } = a; - let gpl = gs.players.byid(player)?; let pc = gs.pieces.byid_mut(piece)?; + let players = &mut gs.players; + let was = pc.held; + let was = was.and_then(|p| players.get(p)); + let was = was.map(|was| htmlescape::encode_minimal(&was.nick)); + + let gpl = players.byid_mut(player)?; let pcs = p.describe_pri(&lens.log_pri(piece, pc)).0; - let was = pc.held; pc.held = Some(player); - let was = was.and_then(|p| gs.players.get(p)); - let was = was.map(|was| htmlescape::encode_minimal(&was.nick)); let update = PieceUpdateOp::Modify(());