From: Ian Jackson Date: Sun, 12 Jul 2020 01:24:27 +0000 (+0100) Subject: provide dasharray X-Git-Tag: otter-0.2.0~1369 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fb76c7e761f41a856bfe5a6513414388ce529fbf;p=otter.git provide dasharray --- diff --git a/src/session.rs b/src/session.rs index 8c17863a..fa13f7ac 100644 --- a/src/session.rs +++ b/src/session.rs @@ -62,7 +62,19 @@ fn session(form : Json) -> Result { let mut load_players = HashMap::new(); for (player, _pl) in &ig.gs.players { - let dasharray = String::new(); + let kd : slotmap::KeyData = player.into(); + let n = kd.get_idx_version().0; + let n = if n != 0 { n.try_into().unwrap() } + else { ig.gs.players.capacity() }; + assert!(n != 0); + let mut dasharray = String::with_capacity(n*3 + 4); + for dash in iter::once("3").chain( + iter::repeat("1").take(n-1)) + { + write!(&mut dasharray, "{} 1 ", &dash).unwrap(); + } + let spc = dasharray.pop(); + assert_eq!(spc,Some(' ')); load_players.insert(player, DataLoadPlayer { dasharray,