diff options
| author | Přemysl Janouch <p.janouch@gmail.com> | 2015-06-28 16:26:51 +0200 | 
|---|---|---|
| committer | Přemysl Janouch <p.janouch@gmail.com> | 2015-06-28 16:26:51 +0200 | 
| commit | 3e47abdfbb4c7e8a8e8e5a930c5cee053aa822dc (patch) | |
| tree | 646dcb9ba39018699ff5a164e0a920f2c67be621 | |
| parent | ed349cb1d3481182214dd43572745cc2a89a5dec (diff) | |
| download | xK-3e47abdfbb4c7e8a8e8e5a930c5cee053aa822dc.tar.gz xK-3e47abdfbb4c7e8a8e8e5a930c5cee053aa822dc.tar.xz xK-3e47abdfbb4c7e8a8e8e5a930c5cee053aa822dc.zip  | |
degesch: further logging cleanup
| -rw-r--r-- | degesch.c | 92 | 
1 files changed, 42 insertions, 50 deletions
@@ -4064,6 +4064,20 @@ irc_is_highlight (struct server *s, const char *message)  	return result;  } +static const char * +irc_get_privmsg_prefix (struct server *s, struct user *user, const char *target) +{ +	if (user && irc_is_channel (s, target)) +	{ +		struct channel *channel; +		struct channel_user *channel_user; +		if ((channel = str_map_find (&s->irc_channels, target)) +		 && (channel_user = irc_channel_get_user (channel, user))) +			return channel_user->prefixes.str; +	} +	return ""; +} +  // --- Mode processor ----------------------------------------------------------  struct mode_processor @@ -4587,18 +4601,17 @@ irc_handle_notice_text (struct server *s,  {  	const char *target = msg->params.vector[0];  	struct buffer *buffer = irc_get_buffer_for_message (s, msg, target); +	if (!buffer) +		return; -	if (buffer) -	{ -		char *nick = irc_cut_nickname (msg->prefix); -		// IRCv3.2 echo-message could otherwise cause us to highlight ourselves -		if (!irc_is_this_us (s, msg->prefix) && irc_is_highlight (s, text->str)) -			log_server (s, buffer, BUFFER_LINE_STATUS | BUFFER_LINE_HIGHLIGHT, -				"#a#s(#S)#r: #m", ATTR_HIGHLIGHT, "Notice", nick, text->str); -		else -			log_outcoming_notice (s, buffer, msg->prefix, text->str); -		free (nick); -	} +	char *nick = irc_cut_nickname (msg->prefix); +	// IRCv3.2 echo-message could otherwise cause us to highlight ourselves +	if (!irc_is_this_us (s, msg->prefix) && irc_is_highlight (s, text->str)) +		log_server (s, buffer, BUFFER_LINE_STATUS | BUFFER_LINE_HIGHLIGHT, +			"#a#s(#S)#r: #m", ATTR_HIGHLIGHT, "Notice", nick, text->str); +	else +		log_outcoming_notice (s, buffer, msg->prefix, text->str); +	free (nick);  }  static void @@ -4752,39 +4765,29 @@ irc_handle_privmsg_text (struct server *s,  {  	const char *target = msg->params.vector[0];  	struct buffer *buffer = irc_get_buffer_for_message (s, msg, target); -	char *nick = irc_cut_nickname (msg->prefix); +	if (!buffer) +		return; -	const char *prefixes = ""; -	if (irc_is_channel (s, target)) -	{ -		struct user *user; -		struct channel *channel; -		struct channel_user *channel_user; -		if ((user = str_map_find (&s->irc_users, nick)) -		 && (channel = str_map_find (&s->irc_channels, target)) -		 && (channel_user = irc_channel_get_user (channel, user))) -			prefixes = channel_user->prefixes.str; -	} +	char *nickname = irc_cut_nickname (msg->prefix); +	const char *prefixes = irc_get_privmsg_prefix +		(s, str_map_find (&s->irc_users, nickname), target); -	if (buffer) +	// IRCv3.2 echo-message could otherwise cause us to highlight ourselves +	if (irc_is_this_us (s, msg->prefix) || !irc_is_highlight (s, text->str))  	{ -		// IRCv3.2 echo-message could otherwise cause us to highlight ourselves -		if (irc_is_this_us (s, msg->prefix) || !irc_is_highlight (s, text->str)) -		{ -			if (is_action) -				log_outcoming_action (s, buffer, nick, text->str); -			else -				log_outcoming_privmsg (s, buffer, prefixes, nick, text->str); -		} -		else if (is_action) -			log_server (s, buffer, BUFFER_LINE_HIGHLIGHT, -				" #a*#r  #n #m", ATTR_HIGHLIGHT, msg->prefix, text->str); +		if (is_action) +			log_outcoming_action (s, buffer, nickname, text->str);  		else -			log_server (s, buffer, BUFFER_LINE_HIGHLIGHT, -				"#a<#s#s>#r #m", ATTR_HIGHLIGHT, prefixes, nick, text->str); +			log_outcoming_privmsg (s, buffer, prefixes, nickname, text->str);  	} +	else if (is_action) +		log_server (s, buffer, BUFFER_LINE_HIGHLIGHT, +			" #a*#r  #n #m", ATTR_HIGHLIGHT, msg->prefix, text->str); +	else +		log_server (s, buffer, BUFFER_LINE_HIGHLIGHT, +			"#a<#s#s>#r #m", ATTR_HIGHLIGHT, prefixes, nickname, text->str); -	free (nick); +	free (nickname);  }  static void @@ -5722,18 +5725,7 @@ static void  log_autosplit_privmsg (struct server *s,  	struct send_autosplit_args *a, struct buffer *buffer, const char *line)  { -	const char *prefixes = ""; -	if (irc_is_channel (s, a->target)) -	{ -		struct user *user; -		struct channel *channel; -		struct channel_user *channel_user; -		if ((user = s->irc_user) -		 && (channel = str_map_find (&s->irc_channels, a->target)) -		 && (channel_user = irc_channel_get_user (channel, user))) -			prefixes = channel_user->prefixes.str; -	} - +	const char *prefixes = irc_get_privmsg_prefix (s, s->irc_user, a->target);  	if (buffer && soft_assert (s->irc_user))  		log_outcoming_privmsg (s, buffer,  			prefixes, s->irc_user->nickname, line);  | 
