void irc_raw_open (int switch_to_buffer) { struct t_irc_raw_message *ptr_raw_message; if (!irc_raw_buffer) { irc_raw_buffer = weechat_buffer_search (IRC_PLUGIN_NAME, IRC_RAW_BUFFER_NAME); if (!irc_raw_buffer) { irc_raw_buffer = weechat_buffer_new (IRC_RAW_BUFFER_NAME, NULL, NULL, &irc_buffer_close_cb, NULL); /* failed to create buffer ? then return */ if (!irc_raw_buffer) return; weechat_buffer_set (irc_raw_buffer, "title", _("IRC raw messages")); weechat_buffer_set (irc_raw_buffer, "short_name", IRC_RAW_BUFFER_NAME); weechat_buffer_set (irc_raw_buffer, "localvar_set_type", "debug"); weechat_buffer_set (irc_raw_buffer, "localvar_set_server", IRC_RAW_BUFFER_NAME); weechat_buffer_set (irc_raw_buffer, "localvar_set_channel", IRC_RAW_BUFFER_NAME); weechat_buffer_set (irc_raw_buffer, "localvar_set_no_log", "1"); /* disable all highlights on this debug buffer */ weechat_buffer_set (irc_raw_buffer, "highlight_words", "-"); if (switch_to_buffer) weechat_buffer_set (irc_raw_buffer, "display", "1"); /* print messages in list */ for (ptr_raw_message = irc_raw_messages; ptr_raw_message; ptr_raw_message = ptr_raw_message->next_message) { irc_raw_message_print (ptr_raw_message); } } } else { if (switch_to_buffer) weechat_buffer_set (irc_raw_buffer, "display", "1"); } }
void irc_raw_print (struct t_irc_server *server, int send, int modified, const char *message) { struct t_irc_raw_message *new_raw_message; if (!message) return; if (!irc_raw_buffer && (weechat_irc_plugin->debug >= 1)) irc_raw_open (0); new_raw_message = irc_raw_message_add (server, send, modified, message); if (new_raw_message) { if (irc_raw_buffer) irc_raw_message_print (new_raw_message); if (weechat_config_integer (irc_config_look_raw_messages) == 0) irc_raw_message_free (new_raw_message); } }
void irc_raw_print (struct t_irc_server *server, int flags, const char *message) { struct t_irc_raw_message *new_raw_message; if (!message) return; /* auto-open IRC raw buffer if debug for irc plugin is >= 1 */ if (!irc_raw_buffer && (weechat_irc_plugin->debug >= 1)) irc_raw_open (0); new_raw_message = irc_raw_message_add (server, flags, message); if (new_raw_message) { if (irc_raw_buffer) irc_raw_message_print (new_raw_message); if (weechat_config_integer (irc_config_look_raw_messages) == 0) irc_raw_message_free (new_raw_message); } }