From 62e84c017a4cf4f09f192397f89c113acfe22fdb Mon Sep 17 00:00:00 2001 From: ghassmo Date: Fri, 17 Jun 2022 04:23:21 +0300 Subject: [PATCH] bin/ircd: implement a function for Privmsg to build irc msg --- bin/ircd/src/main.rs | 11 ++--------- bin/ircd/src/privmsg.rs | 10 ++++++++++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/bin/ircd/src/main.rs b/bin/ircd/src/main.rs index dae7d63fc..218f8bff9 100644 --- a/bin/ircd/src/main.rs +++ b/bin/ircd/src/main.rs @@ -43,13 +43,6 @@ use crate::{ const SIZE_OF_MSGS_BUFFER: usize = 4096; -fn build_irc_msg(msg: &Privmsg) -> String { - debug!("ABOUT TO SEND: {:?}", msg); - let irc_msg = - format!(":{}!anon@dark.fi PRIVMSG {} :{}\r\n", msg.nickname, msg.channel, msg.message); - irc_msg -} - fn clean_input(mut line: String, peer_addr: &SocketAddr) -> Result { if line.is_empty() { warn!("Received empty line from {}. ", peer_addr); @@ -61,6 +54,7 @@ fn clean_input(mut line: String, peer_addr: &SocketAddr) -> Result { warn!("Closing connection."); return Err(Error::ChannelStopped) } + // Remove CRLF line.pop(); line.pop(); @@ -142,8 +136,7 @@ impl Ircd { (*privmsgs_buffer.lock().await).push(msg.clone()); } - let irc_msg = build_irc_msg(&msg); - conn.reply(&irc_msg).await?; + conn.reply(&msg.to_irc_msg()).await?; } err = reader.read_line(&mut line).fuse() => { if let Err(e) = err { diff --git a/bin/ircd/src/privmsg.rs b/bin/ircd/src/privmsg.rs index 49a2297a4..6038e5535 100644 --- a/bin/ircd/src/privmsg.rs +++ b/bin/ircd/src/privmsg.rs @@ -17,3 +17,13 @@ pub struct Privmsg { pub channel: String, pub message: String, } + +impl Privmsg { + pub fn to_irc_msg(&self) -> String { + let irc_msg = format!( + ":{}!anon@dark.fi PRIVMSG {} :{}\r\n", + self.nickname, self.channel, self.message + ); + irc_msg + } +}