mirror of
https://github.com/weechat/weechat.git
synced 2026-07-02 15:53:12 +02:00
Added tags for lines and custom filtering by tags or regex (task #7674), fixed many memory leaks
This commit is contained in:
@@ -169,12 +169,14 @@ irc_channel_free (struct t_irc_server *server, struct t_irc_channel *channel)
|
||||
free (channel->modes);
|
||||
if (channel->key)
|
||||
free (channel->key);
|
||||
//irc_nick_free_all (channel);
|
||||
irc_nick_free_all (channel);
|
||||
if (channel->away_message)
|
||||
free (channel->away_message);
|
||||
if (channel->nicks_speaking)
|
||||
weechat_list_free (channel->nicks_speaking);
|
||||
|
||||
free (channel);
|
||||
|
||||
server->channels = new_channels;
|
||||
}
|
||||
|
||||
|
||||
@@ -568,7 +568,7 @@ irc_command_connect (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
}
|
||||
error = NULL;
|
||||
number = strtol (argv[++i], &error, 10);
|
||||
if (error && (error[0] == '\0'))
|
||||
if (error && !error[0])
|
||||
port = number;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -352,9 +352,10 @@ irc_nick_free (struct t_irc_channel *channel, struct t_irc_nick *nick)
|
||||
free (nick->name);
|
||||
if (nick->host)
|
||||
free (nick->host);
|
||||
free (nick);
|
||||
channel->nicks = new_nicks;
|
||||
|
||||
free (nick);
|
||||
|
||||
channel->nicks = new_nicks;
|
||||
channel->nick_completion_reset = 1;
|
||||
}
|
||||
|
||||
|
||||
+1830
-1903
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ struct t_irc_server;
|
||||
|
||||
typedef int (t_irc_recv_func)(struct t_irc_server *server, char *comand,
|
||||
int argc, char **argv, char **argv_eol,
|
||||
int ignore, int highlight);
|
||||
int highlight);
|
||||
|
||||
struct t_irc_protocol_msg
|
||||
{
|
||||
|
||||
+209
-132
@@ -315,7 +315,7 @@ irc_server_set_addresses (struct t_irc_server *server, char *addresses)
|
||||
pos++;
|
||||
error = NULL;
|
||||
number = strtol (pos, &error, 10);
|
||||
server->ports_array[i] = (error && (error[0] == '\0')) ?
|
||||
server->ports_array[i] = (error && !error[0]) ?
|
||||
number : IRC_SERVER_DEFAULT_PORT;
|
||||
}
|
||||
else
|
||||
@@ -990,6 +990,124 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_parse_message: parse IRC message and return pointer to
|
||||
* host, command, channel, target nick and arguments
|
||||
* (if any)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_server_parse_message (char *message, char **nick, char **host,
|
||||
char **command, char **channel, char **arguments)
|
||||
{
|
||||
char *pos, *pos2, *pos3, *pos4;
|
||||
|
||||
if (nick)
|
||||
*nick = NULL;
|
||||
if (host)
|
||||
*host = NULL;
|
||||
if (command)
|
||||
*command = NULL;
|
||||
if (channel)
|
||||
*channel = NULL;
|
||||
if (arguments)
|
||||
*arguments = NULL;
|
||||
|
||||
if (message[0] == ':')
|
||||
{
|
||||
pos2 = strchr (message, '!');
|
||||
pos = strchr (message, ' ');
|
||||
if (pos2)
|
||||
{
|
||||
if (nick)
|
||||
*nick = weechat_strndup (message + 1, pos2 - (message + 1));
|
||||
}
|
||||
else if (pos)
|
||||
{
|
||||
if (nick)
|
||||
*nick = weechat_strndup (message + 1, pos - (message + 1));
|
||||
}
|
||||
if (pos)
|
||||
{
|
||||
if (host)
|
||||
*host = weechat_strndup (message + 1, pos - (message + 1));
|
||||
pos++;
|
||||
}
|
||||
else
|
||||
pos = message;
|
||||
}
|
||||
else
|
||||
pos = message;
|
||||
|
||||
if (pos && pos[0])
|
||||
{
|
||||
while (pos[0] == ' ')
|
||||
{
|
||||
pos++;
|
||||
}
|
||||
pos2 = strchr (pos, ' ');
|
||||
if (pos2)
|
||||
{
|
||||
if (command)
|
||||
*command = weechat_strndup (pos, pos2 - pos);
|
||||
pos2++;
|
||||
while (pos2[0] == ' ')
|
||||
{
|
||||
pos2++;
|
||||
}
|
||||
if (arguments)
|
||||
*arguments = strdup (pos2);
|
||||
if (pos2[0] != ':')
|
||||
{
|
||||
if (irc_channel_is_channel (pos2))
|
||||
{
|
||||
pos3 = strchr (pos2, ' ');
|
||||
if (channel)
|
||||
{
|
||||
if (pos3)
|
||||
*channel = weechat_strndup (pos2, pos3 - pos2);
|
||||
else
|
||||
*channel = strdup (pos2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pos3 = strchr (pos2, ' ');
|
||||
if (nick && !*nick)
|
||||
{
|
||||
if (nick)
|
||||
{
|
||||
if (pos3)
|
||||
*nick = weechat_strndup (pos2, pos3 - pos2);
|
||||
else
|
||||
*nick = strdup (pos2);
|
||||
}
|
||||
}
|
||||
if (pos3)
|
||||
{
|
||||
pos3++;
|
||||
while (pos3[0] == ' ')
|
||||
{
|
||||
pos3++;
|
||||
}
|
||||
if (irc_channel_is_channel (pos3))
|
||||
{
|
||||
pos4 = strchr (pos3, ' ');
|
||||
if (channel)
|
||||
{
|
||||
if (pos4)
|
||||
*channel = weechat_strndup (pos3, pos4 - pos3);
|
||||
else
|
||||
*channel = strdup (pos3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_send_one_msg: send one message to IRC server
|
||||
*/
|
||||
@@ -998,20 +1116,24 @@ int
|
||||
irc_server_send_one_msg (struct t_irc_server *server, char *message)
|
||||
{
|
||||
static char buffer[4096];
|
||||
char *new_msg, *ptr_msg, *pos;
|
||||
char *new_msg, *ptr_msg, *pos, *nick, *command, *channel;
|
||||
char *ptr_chan_nick, *msg_encoded;
|
||||
char str_modifier[64], modifier_data[256];
|
||||
int rc, queue, first_message;
|
||||
time_t time_now;
|
||||
|
||||
rc = 1;
|
||||
|
||||
/*new_msg = plugin_modifier_exec (PLUGIN_MODIFIER_IRC_OUT,
|
||||
server->name,
|
||||
message)
|
||||
*/
|
||||
new_msg = NULL;
|
||||
irc_server_parse_message (message, &nick, NULL, &command, &channel, NULL);
|
||||
snprintf (str_modifier, sizeof (str_modifier),
|
||||
"irc_out_%s",
|
||||
(command) ? command : "unknown");
|
||||
new_msg = weechat_hook_modifier_exec (str_modifier,
|
||||
server->name,
|
||||
message);
|
||||
|
||||
/* no changes in new message */
|
||||
if (new_msg && (strcmp (buffer, new_msg) == 0))
|
||||
if (new_msg && (strcmp (message, new_msg) == 0))
|
||||
{
|
||||
free (new_msg);
|
||||
new_msg = NULL;
|
||||
@@ -1022,6 +1144,31 @@ irc_server_send_one_msg (struct t_irc_server *server, char *message)
|
||||
{
|
||||
first_message = 1;
|
||||
ptr_msg = (new_msg) ? new_msg : message;
|
||||
|
||||
msg_encoded = NULL;
|
||||
ptr_chan_nick = (channel) ? channel : nick;
|
||||
if (ptr_chan_nick)
|
||||
{
|
||||
snprintf (modifier_data, sizeof (modifier_data),
|
||||
"%s.%s.%s",
|
||||
weechat_plugin->name,
|
||||
server->name,
|
||||
ptr_chan_nick);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf (modifier_data, sizeof (modifier_data),
|
||||
"%s.%s.%s",
|
||||
weechat_plugin->name,
|
||||
server->name,
|
||||
ptr_chan_nick);
|
||||
}
|
||||
msg_encoded = weechat_hook_modifier_exec ("charset_decode",
|
||||
modifier_data,
|
||||
ptr_msg);
|
||||
|
||||
if (msg_encoded)
|
||||
ptr_msg = msg_encoded;
|
||||
|
||||
while (rc && ptr_msg && ptr_msg[0])
|
||||
{
|
||||
@@ -1073,9 +1220,18 @@ irc_server_send_one_msg (struct t_irc_server *server, char *message)
|
||||
|
||||
first_message = 0;
|
||||
}
|
||||
if (msg_encoded)
|
||||
free (msg_encoded);
|
||||
}
|
||||
else
|
||||
irc_debug_printf (server, 1, 1, _("(message dropped)"));
|
||||
|
||||
if (nick)
|
||||
free (nick);
|
||||
if (command)
|
||||
free (command);
|
||||
if (channel)
|
||||
free (channel);
|
||||
if (new_msg)
|
||||
free (new_msg);
|
||||
|
||||
@@ -1124,95 +1280,6 @@ irc_server_sendf (struct t_irc_server *server, char *format, ...)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_parse_message: parse IRC message and return pointer to
|
||||
* host, command, channel, target nick and arguments
|
||||
* (if any)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_server_parse_message (char *message, char **nick, char **host,
|
||||
char **command, char **channel, char **arguments)
|
||||
{
|
||||
char *pos, *pos2, *pos3, *pos4;
|
||||
|
||||
*nick = NULL;
|
||||
*host = NULL;
|
||||
*command = NULL;
|
||||
*channel = NULL;
|
||||
*arguments = NULL;
|
||||
|
||||
if (message[0] == ':')
|
||||
{
|
||||
pos2 = strchr (message, '!');
|
||||
pos = strchr (message, ' ');
|
||||
if (pos2)
|
||||
*nick = weechat_strndup (message + 1, pos2 - (message + 1));
|
||||
else if (pos)
|
||||
*nick = weechat_strndup (message + 1, pos - (message + 1));
|
||||
if (pos)
|
||||
{
|
||||
*host = weechat_strndup (message + 1, pos - (message + 1));
|
||||
pos++;
|
||||
}
|
||||
else
|
||||
pos = message;
|
||||
}
|
||||
else
|
||||
pos = message;
|
||||
|
||||
if (pos && pos[0])
|
||||
{
|
||||
while (pos[0] == ' ')
|
||||
pos++;
|
||||
pos2 = strchr (pos, ' ');
|
||||
if (pos2)
|
||||
{
|
||||
*command = weechat_strndup (pos, pos2 - pos);
|
||||
pos2++;
|
||||
while (pos2[0] == ' ')
|
||||
pos2++;
|
||||
*arguments = strdup (pos2);
|
||||
if (pos2[0] != ':')
|
||||
{
|
||||
if (irc_channel_is_channel (pos2))
|
||||
{
|
||||
pos3 = strchr (pos2, ' ');
|
||||
if (pos3)
|
||||
*channel = weechat_strndup (pos2, pos3 - pos2);
|
||||
else
|
||||
*channel = strdup (pos2);
|
||||
}
|
||||
else
|
||||
{
|
||||
pos3 = strchr (pos2, ' ');
|
||||
if (!*nick)
|
||||
{
|
||||
if (pos3)
|
||||
*nick = weechat_strndup (pos2, pos3 - pos2);
|
||||
else
|
||||
*nick = strdup (pos2);
|
||||
}
|
||||
if (pos3)
|
||||
{
|
||||
pos3++;
|
||||
while (pos3[0] == ' ')
|
||||
pos3++;
|
||||
if (irc_channel_is_channel (pos3))
|
||||
{
|
||||
pos4 = strchr (pos3, ' ');
|
||||
if (pos4)
|
||||
*channel = weechat_strndup (pos3, pos4 - pos3);
|
||||
else
|
||||
*channel = strdup (pos3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_msgq_add_msg: add a message to received messages queue (at the end)
|
||||
*/
|
||||
@@ -1257,7 +1324,7 @@ irc_server_msgq_add_msg (struct t_irc_server *server, char *msg)
|
||||
else
|
||||
message->data = strdup (msg);
|
||||
message->next_message = NULL;
|
||||
|
||||
|
||||
if (irc_msgq_last_msg)
|
||||
{
|
||||
irc_msgq_last_msg->next_message = message;
|
||||
@@ -1357,8 +1424,7 @@ irc_server_msgq_flush ()
|
||||
struct t_irc_message *next;
|
||||
char *ptr_data, *new_msg, *ptr_msg, *pos;
|
||||
char *nick, *host, *command, *channel, *arguments, *msg_decoded;
|
||||
char *modifier_data, *ptr_chan_nick;
|
||||
int length;
|
||||
char str_modifier[64], modifier_data[256], *ptr_chan_nick;
|
||||
|
||||
while (irc_recv_msgq)
|
||||
{
|
||||
@@ -1366,15 +1432,24 @@ irc_server_msgq_flush ()
|
||||
{
|
||||
ptr_data = irc_recv_msgq->data;
|
||||
while (ptr_data[0] == ' ')
|
||||
{
|
||||
ptr_data++;
|
||||
}
|
||||
|
||||
if (ptr_data[0])
|
||||
{
|
||||
irc_debug_printf (irc_recv_msgq->server, 0, 0, ptr_data);
|
||||
/*new_msg = plugin_modifier_exec (PLUGIN_MODIFIER_IRC_IN,
|
||||
irc_recv_msgq->server->name,
|
||||
ptr_data);*/
|
||||
new_msg = NULL;
|
||||
|
||||
irc_server_parse_message (ptr_data, NULL, NULL, &command,
|
||||
NULL, NULL);
|
||||
snprintf (str_modifier, sizeof (str_modifier),
|
||||
"irc_in_%s",
|
||||
(command) ? command : "unknown");
|
||||
new_msg = weechat_hook_modifier_exec (str_modifier,
|
||||
irc_recv_msgq->server->name,
|
||||
ptr_data);
|
||||
if (command)
|
||||
free (command);
|
||||
|
||||
/* no changes in new message */
|
||||
if (new_msg && (strcmp (ptr_data, new_msg) == 0))
|
||||
@@ -1404,33 +1479,26 @@ irc_server_msgq_flush ()
|
||||
&arguments);
|
||||
|
||||
/* convert charset for message */
|
||||
msg_decoded = NULL;
|
||||
ptr_chan_nick = (channel) ? channel : nick;
|
||||
length = strlen (weechat_plugin->name) + 1 +
|
||||
strlen (irc_recv_msgq->server->name) + 1 +
|
||||
((ptr_chan_nick) ? strlen (ptr_chan_nick) : 0) + 1;
|
||||
modifier_data = (char *)malloc (length * sizeof (char));
|
||||
if (modifier_data)
|
||||
if (ptr_chan_nick)
|
||||
{
|
||||
if (ptr_chan_nick)
|
||||
{
|
||||
snprintf (modifier_data, length, "%s.%s.%s",
|
||||
weechat_plugin->name,
|
||||
irc_recv_msgq->server->name,
|
||||
ptr_chan_nick);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf (modifier_data, length, "%s.%s.%s",
|
||||
weechat_plugin->name,
|
||||
irc_recv_msgq->server->name,
|
||||
ptr_chan_nick);
|
||||
}
|
||||
msg_decoded = weechat_hook_modifier_exec ("charset_decode",
|
||||
modifier_data,
|
||||
ptr_msg);
|
||||
free (modifier_data);
|
||||
snprintf (modifier_data, sizeof (modifier_data),
|
||||
"%s.%s.%s",
|
||||
weechat_plugin->name,
|
||||
irc_recv_msgq->server->name,
|
||||
ptr_chan_nick);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf (modifier_data, sizeof (modifier_data),
|
||||
"%s.%s.%s",
|
||||
weechat_plugin->name,
|
||||
irc_recv_msgq->server->name,
|
||||
ptr_chan_nick);
|
||||
}
|
||||
msg_decoded = weechat_hook_modifier_exec ("charset_decode",
|
||||
modifier_data,
|
||||
ptr_msg);
|
||||
|
||||
/* parse and execute command */
|
||||
irc_protocol_recv_command (irc_recv_msgq->server,
|
||||
@@ -1440,12 +1508,18 @@ irc_server_msgq_flush ()
|
||||
command,
|
||||
arguments);
|
||||
|
||||
if (nick)
|
||||
free (nick);
|
||||
if (host)
|
||||
free (host);
|
||||
if (command)
|
||||
free (command);
|
||||
if (channel)
|
||||
free (channel);
|
||||
if (arguments)
|
||||
free (arguments);
|
||||
if (msg_decoded)
|
||||
free (msg_decoded);
|
||||
|
||||
if (pos)
|
||||
{
|
||||
@@ -1457,8 +1531,10 @@ irc_server_msgq_flush ()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_debug_printf (irc_recv_msgq->server, 0, 1,
|
||||
_("(message dropped)"));
|
||||
}
|
||||
if (new_msg)
|
||||
free (new_msg);
|
||||
}
|
||||
@@ -1468,7 +1544,7 @@ irc_server_msgq_flush ()
|
||||
next = irc_recv_msgq->next_message;
|
||||
free (irc_recv_msgq);
|
||||
irc_recv_msgq = next;
|
||||
if (irc_recv_msgq == NULL)
|
||||
if (!irc_recv_msgq)
|
||||
irc_msgq_last_msg = NULL;
|
||||
}
|
||||
}
|
||||
@@ -1744,11 +1820,11 @@ irc_server_switch_address (struct t_irc_server *server)
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_child_read: read connection progress from child process
|
||||
* irc_server_child_read_cb: read connection progress from child process
|
||||
*/
|
||||
|
||||
int
|
||||
irc_server_child_read (void *arg_server)
|
||||
irc_server_child_read_cb (void *arg_server)
|
||||
{
|
||||
struct t_irc_server *server;
|
||||
char buffer[1];
|
||||
@@ -1843,6 +1919,7 @@ irc_server_child_read (void *arg_server)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
@@ -2560,7 +2637,7 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
|
||||
server->child_pid = pid;
|
||||
server->hook_fd = weechat_hook_fd (server->child_read,
|
||||
1, 0, 0,
|
||||
irc_server_child_read,
|
||||
irc_server_child_read_cb,
|
||||
server);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -137,17 +137,12 @@ extern const int gnutls_prot_prio[];
|
||||
#endif
|
||||
extern struct t_irc_message *irc_recv_msgq, *irc_msgq_last_msg;
|
||||
|
||||
|
||||
extern void irc_server_init (struct t_irc_server *server);
|
||||
extern int irc_server_init_with_url (struct t_irc_server *server, char *irc_url);
|
||||
extern void irc_server_set_nick (struct t_irc_server *server, char *nick);
|
||||
extern struct t_irc_server *irc_server_alloc ();
|
||||
extern void irc_server_init_with_config_options (struct t_irc_server *server,
|
||||
struct t_config_section *section,
|
||||
int config_reload);
|
||||
extern struct t_irc_server *irc_server_alloc ();
|
||||
extern void irc_server_outqueue_free_all (struct t_irc_server *server);
|
||||
extern void irc_server_free_data (struct t_irc_server *server);
|
||||
extern void irc_server_free (struct t_irc_server *server);
|
||||
extern void irc_server_free_all ();
|
||||
extern struct t_irc_server *irc_server_new (char *name, int autoconnect,
|
||||
int autoreconnect,
|
||||
int autoreconnect_delay,
|
||||
@@ -162,46 +157,27 @@ extern struct t_irc_server *irc_server_new (char *name, int autoconnect,
|
||||
extern struct t_irc_server *irc_server_duplicate (struct t_irc_server *server,
|
||||
char *new_name);
|
||||
extern int irc_server_rename (struct t_irc_server *server, char *new_name);
|
||||
extern int irc_server_send (struct t_irc_server *server, char *buffer,
|
||||
int size_buf);
|
||||
extern void irc_server_outqueue_send (struct t_irc_server *server);
|
||||
extern void irc_server_sendf (struct t_irc_server *server, char *format, ...);
|
||||
extern void irc_server_parse_message (char *message, char **nick,
|
||||
char **host, char **command,
|
||||
char **channel, char **arguments);
|
||||
extern int irc_server_recv_cb (void *arg_server);
|
||||
extern int irc_server_timer_cb (void *data);
|
||||
extern void irc_server_timer_check_away (void *empty);
|
||||
extern int irc_server_child_read (void *arg_server);
|
||||
extern void irc_server_convbase64_8x3_to_6x4 (char *from, char *to);
|
||||
extern void irc_server_base64encode (char *from, char *to);
|
||||
extern int irc_server_pass_httpproxy (int sock, char *address, int port);
|
||||
extern int irc_server_resolve (char *hostname, char *ip, int *version);
|
||||
extern int irc_server_pass_socks4proxy (int sock, char *address, int port,
|
||||
char *username);
|
||||
extern int irc_server_pass_socks5proxy (int sock, char *address, int port);
|
||||
extern int irc_server_pass_proxy (int sock, char *address, int port,
|
||||
char *username);
|
||||
extern void irc_server_set_nick (struct t_irc_server *server, char *nick);
|
||||
extern struct t_irc_server *irc_server_search (char *server_name);
|
||||
extern void irc_server_free_all ();
|
||||
extern int irc_server_connect (struct t_irc_server *server,
|
||||
int disable_autojoin);
|
||||
extern void irc_server_reconnect (struct t_irc_server *server);
|
||||
extern void irc_server_auto_connect (int auto_connect, int temp_server);
|
||||
extern void irc_server_disconnect (struct t_irc_server *server, int reconnect);
|
||||
extern void irc_server_disconnect_all ();
|
||||
extern void irc_server_autojoin_channels ();
|
||||
extern struct t_irc_server *irc_server_search (char *server_name);
|
||||
extern int irc_server_get_number_connected ();
|
||||
extern void irc_server_get_number_buffer (struct t_irc_server *server,
|
||||
int *server_pos, int *server_total);
|
||||
extern int irc_server_timer_cb (void *data);
|
||||
extern void irc_server_sendf (struct t_irc_server *server, char *format, ...);
|
||||
extern void irc_server_outqueue_free_all (struct t_irc_server *server);
|
||||
extern int irc_server_get_channel_count (struct t_irc_server *server);
|
||||
extern int irc_server_get_pv_count (struct t_irc_server *server);
|
||||
extern void irc_server_remove_away ();
|
||||
extern void irc_server_check_away ();
|
||||
extern void irc_server_set_away (struct t_irc_server *server, char *nick,
|
||||
int is_away);
|
||||
extern int irc_server_get_default_notify_level (struct t_irc_server *server);
|
||||
extern void irc_server_set_default_notify_level (struct t_irc_server *server,
|
||||
int notify);
|
||||
extern void irc_server_remove_away ();
|
||||
extern void irc_server_check_away ();
|
||||
extern void irc_server_reconnect (struct t_irc_server *server);
|
||||
extern void irc_server_disconnect (struct t_irc_server *server, int reconnect);
|
||||
extern void irc_server_disconnect_all ();
|
||||
extern void irc_server_free (struct t_irc_server *server);
|
||||
extern void irc_server_free_data (struct t_irc_server *server);
|
||||
extern void irc_server_print_log ();
|
||||
|
||||
#endif /* irc-server.h */
|
||||
|
||||
@@ -29,22 +29,22 @@
|
||||
#define IRC_GET_SERVER(__buffer) \
|
||||
struct t_weechat_plugin *buffer_plugin = NULL; \
|
||||
struct t_irc_server *ptr_server = NULL; \
|
||||
buffer_plugin = weechat_buffer_get (__buffer, "plugin"); \
|
||||
buffer_plugin = weechat_buffer_get_pointer (__buffer, "plugin"); \
|
||||
if (buffer_plugin == weechat_irc_plugin) \
|
||||
ptr_server = irc_server_search ( \
|
||||
weechat_buffer_get (__buffer, "category"));
|
||||
weechat_buffer_get_string (__buffer, "category"));
|
||||
|
||||
#define IRC_GET_SERVER_CHANNEL(__buffer) \
|
||||
struct t_weechat_plugin *buffer_plugin = NULL; \
|
||||
struct t_irc_server *ptr_server = NULL; \
|
||||
struct t_irc_channel *ptr_channel = NULL; \
|
||||
buffer_plugin = weechat_buffer_get (__buffer, "plugin"); \
|
||||
buffer_plugin = weechat_buffer_get_pointer (__buffer, "plugin"); \
|
||||
if (buffer_plugin == weechat_irc_plugin) \
|
||||
{ \
|
||||
ptr_server = irc_server_search ( \
|
||||
weechat_buffer_get (__buffer, "category")); \
|
||||
weechat_buffer_get_string (__buffer, "category")); \
|
||||
ptr_channel = irc_channel_search ( \
|
||||
ptr_server, weechat_buffer_get (__buffer, "name")); \
|
||||
ptr_server, weechat_buffer_get_string (__buffer, "name")); \
|
||||
}
|
||||
|
||||
#define IRC_COLOR_CHAT weechat_color("color_chat")
|
||||
|
||||
Reference in New Issue
Block a user