rust/hedgewars-server/src/protocol.rs
changeset 15439 a158ff8f84ef
parent 15123 1aa3b44c0441
child 15795 40929af15167
--- a/rust/hedgewars-server/src/protocol.rs	Mon Sep 30 16:02:39 2019 +0200
+++ b/rust/hedgewars-server/src/protocol.rs	Tue Oct 01 23:48:32 2019 +0300
@@ -24,7 +24,8 @@
     fn recover(&mut self) -> bool {
         self.is_recovering = match parser::malformed_message(&self.buf[..]) {
             Ok((tail, ())) => {
-                self.buf.consume(self.buf.len() - tail.len());
+                let length = tail.len();
+                self.buf.consume(self.buf.len() - length);
                 false
             }
             _ => {
@@ -50,7 +51,8 @@
                 match parser::message(&self.buf[..]) {
                     Ok((tail, message)) => {
                         messages.push(message);
-                        self.buf.consume(self.buf.len() - tail.len());
+                        let length = tail.len();
+                        self.buf.consume(self.buf.len() - length);
                     }
                     Err(nom::Err::Incomplete(_)) => break,
                     Err(nom::Err::Failure(e)) | Err(nom::Err::Error(e)) => {