# HG changeset patch
# User unc0rr
# Date 1484767421 -10800
# Node ID 7e259e47eb0dc57a177491706442814812723180
# Parent  f3121d7dedec8d75af4d7ac08b079bfb54661a7f
Fix malformed messages parsing

diff -r f3121d7dedec -r 7e259e47eb0d gameServer2/src/protocol/parser.rs
--- a/gameServer2/src/protocol/parser.rs	Wed Jan 18 22:15:55 2017 +0300
+++ b/gameServer2/src/protocol/parser.rs	Wed Jan 18 22:23:41 2017 +0300
@@ -111,9 +111,9 @@
         | one_param_message
         | cmd_message
         | complex_message
-        | malformed_message
         ), end_of_message
     )
+    | terminated!(malformed_message, end_of_message)
     | empty_message
     )
 );
@@ -131,6 +131,8 @@
     assert_eq!(message(b"CMD\nwatch\ndemo\n\n"), IResult::Done(&b""[..], Watch("demo")));
     assert_eq!(message(b"BAN\nme\nbad\n77\n\n"), IResult::Done(&b""[..], Ban("me", "bad", 77)));
 
+    assert_eq!(extract_messages(b"QUIT\n1\n2\n\n"),    IResult::Done(&b""[..], vec![Malformed]));
+
     assert_eq!(extract_messages(b"PING\n\nPING\n\nP"), IResult::Done(&b"P"[..], vec![Ping, Ping]));
     assert_eq!(extract_messages(b"SING\n\nPING\n\n"),  IResult::Done(&b""[..],  vec![Malformed, Ping]));
     assert_eq!(extract_messages(b"\n\n\n\nPING\n\n"),  IResult::Done(&b""[..],  vec![Empty, Empty, Ping]));