rust/hedgewars-network-protocol/src/parser.rs
changeset 16120 5febd2bc5372
parent 16026 7c8697fa019f
equal deleted inserted replaced
16119:278533359a93 16120:5febd2bc5372
   218     {
   218     {
   219         map(preceded(tag(name), parser), constructor)
   219         map(preceded(tag(name), parser), constructor)
   220     }
   220     }
   221 
   221 
   222     alt((
   222     alt((
   223         message("NICK\n", a_line, Nick),
       
   224         message("INFO\n", a_line, Info),
   223         message("INFO\n", a_line, Info),
   225         message("CHAT\n", a_line, Chat),
   224         message("CHAT\n", a_line, Chat),
   226         message("PART", opt_arg, Part),
   225         message("PART", opt_arg, Part),
   227         message("FOLLOW\n", a_line, Follow),
   226         message("FOLLOW\n", a_line, Follow),
   228         message("KICK\n", a_line, Kick),
   227         message("KICK\n", a_line, Kick),
   493                     map(peek(end_of_message), |_| None),
   492                     map(peek(end_of_message), |_| None),
   494                     map(preceded(newline, separated_list0(newline, a_line)), Some),
   493                     map(preceded(newline, separated_list0(newline, a_line)), Some),
   495                 )),
   494                 )),
   496             ),
   495             ),
   497             |values| CheckedOk(values.unwrap_or_default()),
   496             |values| CheckedOk(values.unwrap_or_default()),
       
   497         ),
       
   498         preceded(
       
   499             tag("NICK\n"),
       
   500             map(pair(a_line, opt_arg), |(nick, token)| Nick(nick, token)),
   498         ),
   501         ),
   499     ))(input)
   502     ))(input)
   500 }
   503 }
   501 
   504 
   502 pub fn malformed_message(input: &[u8]) -> HwResult<()> {
   505 pub fn malformed_message(input: &[u8]) -> HwResult<()> {