chiark / gitweb /
mgmtchanne: More helpfully report errors from AlterGame insns
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 10 Jan 2021 21:49:51 +0000 (21:49 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 10 Jan 2021 23:19:44 +0000 (23:19 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/mgmtchannel.rs

index efa0b772e193bff19ff0c9d7d825fc3280d02d3d..41b87e047925cd3efab570a7d41c966b3a0f1704 100644 (file)
@@ -74,7 +74,14 @@ impl MgmtChannel {
           format!("got error response to: {:?}",&cmd)
         )?;
       },
-      AlterGame { error: Some(error), .. } => {
+      AlterGame { error: Some(error), ref responses } => {
+        if let MgmtCommand::AlterGame { insns, .. } = &cmd {
+          if responses.len() < insns.len() {
+            Err(error.clone())
+              .context("AlterGame insn failed")
+              .with_context(|| format!(" {:?}", &insns[responses.len()]))?;
+          }
+        }
         Err(error.clone()).context(format!(
           "game alterations failed (maybe partially); response to: {:?}",
           &cmd