mirror of
https://github.com/weechat/weechat.git
synced 2026-07-03 08:13:14 +02:00
New backlog option in logger plugin, added variable names in .h files, replaced "void *" pointers by structures
This commit is contained in:
+20
-16
@@ -79,7 +79,7 @@ alias_add_word (char **alias, int *length, char *word)
|
||||
|
||||
if (*alias == NULL)
|
||||
{
|
||||
*alias = (char *) malloc (length_word + 1);
|
||||
*alias = (char *)malloc (length_word + 1);
|
||||
strcpy (*alias, word);
|
||||
}
|
||||
else
|
||||
@@ -174,7 +174,7 @@ alias_replace_args (char *alias_args, char *user_args)
|
||||
*/
|
||||
|
||||
int
|
||||
alias_cb (void *data, void *buffer, int argc, char **argv,
|
||||
alias_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
{
|
||||
struct t_alias *ptr_alias;
|
||||
@@ -219,7 +219,7 @@ alias_cb (void *data, void *buffer, int argc, char **argv,
|
||||
weechat_command (buffer, args_replaced);
|
||||
else
|
||||
{
|
||||
alias_command = (char *) malloc (1 + strlen(args_replaced) + 1);
|
||||
alias_command = (char *)malloc (1 + strlen(args_replaced) + 1);
|
||||
if (alias_command)
|
||||
{
|
||||
strcpy (alias_command, "/");
|
||||
@@ -239,7 +239,7 @@ alias_cb (void *data, void *buffer, int argc, char **argv,
|
||||
length1 = strlen (*ptr_cmd);
|
||||
length2 = strlen (argv_eol[1]);
|
||||
|
||||
alias_command = (char *) malloc ( 1 + length1 + 1 + length2 + 1);
|
||||
alias_command = (char *)malloc ( 1 + length1 + 1 + length2 + 1);
|
||||
if (alias_command)
|
||||
{
|
||||
if (*ptr_cmd[0] != '/')
|
||||
@@ -261,7 +261,7 @@ alias_cb (void *data, void *buffer, int argc, char **argv,
|
||||
(void) weechat_command(buffer, *ptr_cmd);
|
||||
else
|
||||
{
|
||||
alias_command = (char *) malloc (1 + strlen (*ptr_cmd) + 1);
|
||||
alias_command = (char *)malloc (1 + strlen (*ptr_cmd) + 1);
|
||||
if (alias_command)
|
||||
{
|
||||
strcpy (alias_command, "/");
|
||||
@@ -307,7 +307,7 @@ alias_new (char *name, char *command)
|
||||
return ptr_alias;
|
||||
}
|
||||
|
||||
if ((new_alias = ((struct t_alias *) malloc (sizeof (struct t_alias)))))
|
||||
if ((new_alias = ((struct t_alias *)malloc (sizeof (struct t_alias)))))
|
||||
{
|
||||
new_hook = weechat_hook_command (name, "[alias]", NULL, NULL, NULL,
|
||||
alias_cb, new_alias);
|
||||
@@ -419,7 +419,8 @@ alias_free_all ()
|
||||
*/
|
||||
|
||||
void
|
||||
alias_config_read_line (void *config_file, char *option_name, char *value)
|
||||
alias_config_read_line (struct t_config_file *config_file, char *option_name,
|
||||
char *value)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) config_file;
|
||||
@@ -444,7 +445,8 @@ alias_config_read_line (void *config_file, char *option_name, char *value)
|
||||
*/
|
||||
|
||||
void
|
||||
alias_config_write_section (void *config_file, char *section_name)
|
||||
alias_config_write_section (struct t_config_file *config_file,
|
||||
char *section_name)
|
||||
{
|
||||
struct t_alias *ptr_alias;
|
||||
|
||||
@@ -465,7 +467,8 @@ alias_config_write_section (void *config_file, char *section_name)
|
||||
*/
|
||||
|
||||
void
|
||||
alias_config_write_default_aliases (void *config_file, char *section_name)
|
||||
alias_config_write_default_aliases (struct t_config_file *config_file,
|
||||
char *section_name)
|
||||
{
|
||||
weechat_config_write_line (config_file, section_name, NULL);
|
||||
|
||||
@@ -537,12 +540,12 @@ alias_config_read ()
|
||||
*/
|
||||
|
||||
int
|
||||
alias_config_reload_signal_cb (void *data, char *signal, void *pointer)
|
||||
alias_config_reload_signal_cb (void *data, char *signal, void *signal_data)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) signal;
|
||||
(void) pointer;
|
||||
(void) signal_data;
|
||||
|
||||
alias_free_all ();
|
||||
if (weechat_config_reload (alias_config_file) == 0)
|
||||
@@ -574,8 +577,8 @@ alias_config_write ()
|
||||
*/
|
||||
|
||||
int
|
||||
alias_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
alias_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *alias_name;
|
||||
struct t_alias *ptr_alias;
|
||||
@@ -655,8 +658,8 @@ alias_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
unalias_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
unalias_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *alias_name;
|
||||
struct t_alias *ptr_alias;
|
||||
@@ -692,7 +695,8 @@ unalias_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
alias_completion_cb (void *data, char *completion, void *buffer, void *list)
|
||||
alias_completion_cb (void *data, char *completion, struct t_gui_buffer *buffer,
|
||||
struct t_weelist *list)
|
||||
{
|
||||
struct t_alias *ptr_alias;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ weechat_aspell_new_speller (void)
|
||||
{
|
||||
aspell_speller_t *s;
|
||||
|
||||
s = (aspell_speller_t *) malloc (sizeof (aspell_speller_t));
|
||||
s = (aspell_speller_t *)malloc (sizeof (aspell_speller_t));
|
||||
if (!s)
|
||||
{
|
||||
weechat_aspell_plugin->print (weechat_aspell_plugin, NULL, NULL,
|
||||
@@ -203,7 +203,7 @@ weechat_aspell_new_config (void)
|
||||
{
|
||||
aspell_config_t *c;
|
||||
|
||||
c = (aspell_config_t *) malloc (sizeof (aspell_config_t));
|
||||
c = (aspell_config_t *)malloc (sizeof (aspell_config_t));
|
||||
if (!c)
|
||||
{
|
||||
weechat_aspell_plugin->print (weechat_aspell_plugin, NULL, NULL,
|
||||
@@ -828,7 +828,7 @@ weechat_aspell_config_save (void)
|
||||
if (found == 0)
|
||||
{
|
||||
n = strlen (servers) + strlen (p->server) + 2;
|
||||
servers = (char *) realloc (servers, n * sizeof (char));
|
||||
servers = (char *)realloc (servers, n * sizeof (char));
|
||||
strcat (servers, " ");
|
||||
strcat (servers, p->server);
|
||||
weechat_aspell_plugin->set_plugin_config (weechat_aspell_plugin, "servers", servers);
|
||||
@@ -848,13 +848,13 @@ weechat_aspell_config_save (void)
|
||||
else
|
||||
{
|
||||
n = strlen (channels) + strlen (q->channel) + 2;
|
||||
channels = (char *) realloc (channels, n * sizeof (char));
|
||||
channels = (char *)realloc (channels, n * sizeof (char));
|
||||
strcat (channels, " ");
|
||||
strcat (channels, q->channel);
|
||||
}
|
||||
|
||||
n = 7 + strlen (p->server) + strlen (q->channel);
|
||||
option = (char *) malloc ( n * sizeof (char));
|
||||
option = (char *)malloc (n * sizeof (char));
|
||||
snprintf (option, n, "lang_%s_%s", p->server, q->channel);
|
||||
weechat_aspell_plugin->set_plugin_config (weechat_aspell_plugin, option, q->speller->lang);
|
||||
free (option);
|
||||
@@ -864,7 +864,7 @@ weechat_aspell_config_save (void)
|
||||
if (channels)
|
||||
{
|
||||
n = 10 + strlen (p->server);
|
||||
option = (char *) malloc ( n * sizeof (char));
|
||||
option = (char *)malloc (n * sizeof (char));
|
||||
snprintf (option, n, "channels_%s", p->server);
|
||||
weechat_aspell_plugin->set_plugin_config (weechat_aspell_plugin, option, channels);
|
||||
free (option);
|
||||
@@ -899,7 +899,7 @@ weechat_aspell_config_load(void)
|
||||
for (i=0; i<s; i++)
|
||||
{
|
||||
n = 10 + strlen (servers_list[i]);
|
||||
option_s = (char *) malloc (n * sizeof (char));
|
||||
option_s = (char *)malloc (n * sizeof (char));
|
||||
snprintf (option_s, n, "channels_%s", servers_list[i]);
|
||||
|
||||
channels = weechat_aspell_plugin->get_plugin_config (weechat_aspell_plugin, option_s);
|
||||
@@ -911,7 +911,7 @@ weechat_aspell_config_load(void)
|
||||
for (j=0; j<c; j++)
|
||||
{
|
||||
n = 7 + strlen (servers_list[i]) + strlen (channels_list[j]);
|
||||
option_l = (char *) malloc (n * sizeof (char));
|
||||
option_l = (char *)malloc (n * sizeof (char));
|
||||
snprintf (option_l, n, "lang_%s_%s", servers_list[i], channels_list[j]);
|
||||
|
||||
lang = weechat_aspell_plugin->get_plugin_config (weechat_aspell_plugin, option_l);
|
||||
@@ -1174,7 +1174,7 @@ weechat_aspell_clean_word (char *word, int *offset)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
w = (char *) malloc ((len+1) * sizeof(char));
|
||||
w = (char *)malloc ((len+1) * sizeof(char));
|
||||
|
||||
if (w) {
|
||||
memcpy (w, buffer + *offset, len);
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
/* weechat-aspell.h: Aspell plugin support for WeeChat */
|
||||
|
||||
#ifndef WEECHAT_ASPELL__H
|
||||
#define WEECHAT_ASPELL__H 1
|
||||
#ifndef __WEECHAT_ASPELL_H
|
||||
#define __WEECHAT_ASPELL_H 1
|
||||
|
||||
#include <aspell.h>
|
||||
|
||||
@@ -192,4 +192,4 @@ cmds_keep_t cmd_tokeep[] =
|
||||
{ NULL, 0}
|
||||
};
|
||||
|
||||
#endif /* WEECHAT_ASPELL__H */
|
||||
#endif /* aspell.h */
|
||||
|
||||
+15
-14
@@ -48,8 +48,8 @@ struct t_weechat_plugin *weechat_demo_plugin = NULL;
|
||||
*/
|
||||
|
||||
int
|
||||
demo_printf_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
demo_printf_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
@@ -86,8 +86,8 @@ demo_printf_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
demo_infobar_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
demo_infobar_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
@@ -116,8 +116,8 @@ demo_buffer_input_data_cb (struct t_gui_buffer *buffer, char *data)
|
||||
*/
|
||||
|
||||
int
|
||||
demo_buffer_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
demo_buffer_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
struct t_gui_buffer *new_buffer;
|
||||
|
||||
@@ -132,6 +132,7 @@ demo_buffer_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
demo_buffer_input_data_cb);
|
||||
if (new_buffer)
|
||||
weechat_buffer_set (new_buffer, "display", "1");
|
||||
weechat_hook_signal_send ("logger_backlog", new_buffer);
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
@@ -142,7 +143,7 @@ demo_buffer_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
void
|
||||
demo_infolist_print (void *infolist, char *item_name)
|
||||
demo_infolist_print (struct t_plugin_infolist *infolist, char *item_name)
|
||||
{
|
||||
char *fields, **argv;
|
||||
int i, j, argc;
|
||||
@@ -202,8 +203,8 @@ demo_infolist_print (void *infolist, char *item_name)
|
||||
*/
|
||||
|
||||
int
|
||||
demo_infolist_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
demo_infolist_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
struct t_plugin_infolist *infolist;
|
||||
|
||||
@@ -250,8 +251,8 @@ demo_infolist_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
demo_info_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
demo_info_command_cb (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
@@ -278,14 +279,14 @@ demo_info_command_cb (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
demo_signal_cb (void *data, char *signal, void *pointer)
|
||||
demo_signal_cb (void *data, char *signal, void *signal_data)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
weechat_printf (NULL,
|
||||
_("demo_signal: signal: %s, pointer: %X"),
|
||||
signal, pointer);
|
||||
_("demo_signal: signal: %s, signal_data: %X"),
|
||||
signal, signal_data);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
+36
-16
@@ -49,19 +49,23 @@ char *fifo_unterminated = NULL;
|
||||
|
||||
/*
|
||||
* fifo_create: create FIFO pipe for remote control
|
||||
* return: 1 if ok
|
||||
* 0 if error
|
||||
*/
|
||||
|
||||
void
|
||||
int
|
||||
fifo_create ()
|
||||
{
|
||||
int filename_length;
|
||||
int rc, filename_length;
|
||||
char *fifo_option, *weechat_home;
|
||||
|
||||
fifo_option = weechat_plugin_config_get ("fifo");
|
||||
|
||||
rc = 0;
|
||||
|
||||
fifo_option = weechat_config_get_plugin ("fifo");
|
||||
if (!fifo_option)
|
||||
{
|
||||
weechat_plugin_config_set ("fifo", "on");
|
||||
fifo_option = weechat_plugin_config_get ("fifo");
|
||||
weechat_config_set_plugin ("fifo", "on");
|
||||
fifo_option = weechat_config_get_plugin ("fifo");
|
||||
}
|
||||
|
||||
weechat_home = weechat_info_get ("weechat_dir");
|
||||
@@ -75,8 +79,8 @@ fifo_create ()
|
||||
if (!fifo_filename)
|
||||
{
|
||||
filename_length = strlen (weechat_home) + 64;
|
||||
fifo_filename = (char *) malloc (filename_length *
|
||||
sizeof (char));
|
||||
fifo_filename = (char *)malloc (filename_length *
|
||||
sizeof (char));
|
||||
snprintf (fifo_filename, filename_length,
|
||||
"%s/weechat_fifo_%d",
|
||||
weechat_home, (int) getpid());
|
||||
@@ -90,9 +94,12 @@ fifo_create ()
|
||||
/* open FIFO pipe in read-only, non blockingmode */
|
||||
if ((fifo_fd = open (fifo_filename,
|
||||
O_RDONLY | O_NONBLOCK)) != -1)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%sFifo: pipe is open\n"),
|
||||
weechat_prefix ("info"));
|
||||
rc = 1;
|
||||
}
|
||||
else
|
||||
weechat_printf (NULL,
|
||||
_("%sFifo: unable to open pipe (%s) for "
|
||||
@@ -108,10 +115,10 @@ fifo_create ()
|
||||
fifo_filename);
|
||||
}
|
||||
}
|
||||
if (fifo_option)
|
||||
free (fifo_option);
|
||||
if (weechat_home)
|
||||
free (weechat_home);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -168,6 +175,8 @@ fifo_exec (char *text)
|
||||
{
|
||||
pos_msg = text + 1;
|
||||
ptr_buffer = weechat_buffer_search (NULL, NULL);
|
||||
if (!ptr_buffer)
|
||||
ptr_buffer = weechat_current_buffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -198,6 +207,8 @@ fifo_exec (char *text)
|
||||
}
|
||||
else
|
||||
ptr_buffer = weechat_buffer_search (NULL, text);
|
||||
if (!ptr_buffer)
|
||||
ptr_buffer = weechat_current_buffer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,8 +243,8 @@ fifo_read ()
|
||||
ptr_buf = buffer;
|
||||
if (fifo_unterminated)
|
||||
{
|
||||
buf2 = (char *) malloc (strlen (fifo_unterminated) +
|
||||
strlen (buffer) + 1);
|
||||
buf2 = (char *)malloc (strlen (fifo_unterminated) +
|
||||
strlen (buffer) + 1);
|
||||
if (buf2)
|
||||
{
|
||||
strcpy (buf2, fifo_unterminated);
|
||||
@@ -292,7 +303,16 @@ fifo_read ()
|
||||
weechat_unhook (fifo_fd_hook);
|
||||
close (fifo_fd);
|
||||
fifo_fd = open (fifo_filename, O_RDONLY | O_NONBLOCK);
|
||||
fifo_fd_hook = weechat_hook_fd (fifo_fd, 1, 0, 0, fifo_read, NULL);
|
||||
if (fifo_fd < 0)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%sFifo: error opening file, closing it"),
|
||||
weechat_prefix ("error"));
|
||||
fifo_remove ();
|
||||
}
|
||||
else
|
||||
fifo_fd_hook = weechat_hook_fd (fifo_fd, 1, 0, 0,
|
||||
&fifo_read, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,9 +354,9 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
{
|
||||
weechat_plugin = plugin;
|
||||
|
||||
fifo_create ();
|
||||
|
||||
fifo_fd_hook = weechat_hook_fd (fifo_fd, 1, 0, 0, &fifo_read, NULL);
|
||||
if (fifo_create ())
|
||||
fifo_fd_hook = weechat_hook_fd (fifo_fd, 1, 0, 0,
|
||||
&fifo_read, NULL);
|
||||
|
||||
weechat_hook_config ("plugin", "fifo.fifo", &fifo_config_cb, NULL);
|
||||
|
||||
|
||||
@@ -42,9 +42,9 @@ struct t_irc_buffer_data
|
||||
int all_servers;
|
||||
};
|
||||
|
||||
extern struct t_irc_buffer_data *irc_buffer_data_create (struct t_irc_server *);
|
||||
extern void irc_buffer_data_free (struct t_gui_buffer *);
|
||||
extern void irc_buffer_merge_servers (struct t_gui_window *);
|
||||
extern void irc_buffer_split_server (struct t_gui_window *);
|
||||
extern struct t_irc_buffer_data *irc_buffer_data_create (struct t_irc_server *server);
|
||||
extern void irc_buffer_data_free (struct t_gui_buffer *buffer);
|
||||
extern void irc_buffer_merge_servers (struct t_gui_window *window);
|
||||
extern void irc_buffer_split_server (struct t_gui_window *window);
|
||||
|
||||
#endif /* irc-buffer.h */
|
||||
|
||||
@@ -48,7 +48,7 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
|
||||
struct t_gui_buffer *new_buffer;
|
||||
|
||||
/* alloc memory for new channel */
|
||||
if ((new_channel = (struct t_irc_channel *) malloc (sizeof (struct t_irc_channel))) == NULL)
|
||||
if ((new_channel = (struct t_irc_channel *)malloc (sizeof (struct t_irc_channel))) == NULL)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%sirc: cannot allocate new channel"),
|
||||
@@ -88,7 +88,7 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
|
||||
//new_buffer->notify_level = irc_channel_get_notify_level (server, new_channel);
|
||||
|
||||
/* add new channel to channels list */
|
||||
new_channel->prev_channel = ((struct t_irc_server *)server)->last_channel;
|
||||
new_channel->prev_channel = server->last_channel;
|
||||
new_channel->next_channel = NULL;
|
||||
if (server->channels)
|
||||
(server->last_channel)->next_channel = new_channel;
|
||||
@@ -346,17 +346,17 @@ irc_channel_set_away (struct t_irc_channel *channel, char *nick, int is_away)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_channel_create_dcc (void *dcc)
|
||||
irc_channel_create_dcc (struct t_irc_dcc *dcc)
|
||||
{
|
||||
struct t_irc_channel *ptr_channel;
|
||||
|
||||
ptr_channel = irc_channel_search_dcc (((struct t_irc_dcc *)dcc)->server,
|
||||
((struct t_irc_dcc *)dcc)->nick);
|
||||
ptr_channel = irc_channel_search_dcc (dcc->server, dcc->nick);
|
||||
if (!ptr_channel)
|
||||
{
|
||||
ptr_channel = irc_channel_new (((struct t_irc_dcc *)dcc)->server,
|
||||
ptr_channel = irc_channel_new (dcc->server,
|
||||
IRC_CHANNEL_TYPE_DCC_CHAT,
|
||||
((struct t_irc_dcc *)dcc)->nick, 0);
|
||||
dcc->nick,
|
||||
0);
|
||||
if (!ptr_channel)
|
||||
return 0;
|
||||
}
|
||||
@@ -366,7 +366,7 @@ irc_channel_create_dcc (void *dcc)
|
||||
return 0;
|
||||
|
||||
ptr_channel->dcc_chat = dcc;
|
||||
((struct t_irc_dcc *)dcc)->channel = ptr_channel;
|
||||
dcc->channel = ptr_channel;
|
||||
//gui_window_redraw_buffer (ptr_channel->buffer);
|
||||
return 1;
|
||||
}
|
||||
@@ -395,7 +395,7 @@ irc_channel_get_notify_level (struct t_irc_server *server,
|
||||
&& (server_default_notify == 1))
|
||||
server_default_notify = 2;
|
||||
|
||||
name = (char *) malloc (strlen (channel->name) + 2);
|
||||
name = (char *)malloc (strlen (channel->name) + 2);
|
||||
strcpy (name, channel->name);
|
||||
strcat (name, ":");
|
||||
pos = strstr (server->notify_levels, name);
|
||||
|
||||
@@ -34,44 +34,58 @@
|
||||
|
||||
struct t_irc_channel
|
||||
{
|
||||
int type; /* channel type */
|
||||
struct t_irc_dcc *dcc_chat; /* DCC CHAT pointer (NULL if not DCC) */
|
||||
char *name; /* name of channel (exemple: "#abc") */
|
||||
char *topic; /* topic of channel (host for private) */
|
||||
char *modes; /* channel modes */
|
||||
int limit; /* user limit (0 is limit not set) */
|
||||
char *key; /* channel key (NULL if no key is set) */
|
||||
int nicks_count; /* # nicks on channel (0 if dcc/pv) */
|
||||
int checking_away; /* = 1 if checking away with WHO cmd */
|
||||
char *away_message; /* to display away only once in private */
|
||||
int cycle; /* currently cycling (/part then /join) */
|
||||
int close; /* close request (/buffer close) */
|
||||
int display_creation_date; /* 1 if creation date should be displayed*/
|
||||
int nick_completion_reset; /* 1 if nick completion should be rebuilt*/
|
||||
/* there was some join/part on channel */
|
||||
struct t_irc_nick *nicks; /* nicks on the channel */
|
||||
struct t_irc_nick *last_nick; /* last nick on the channel */
|
||||
struct t_weelist *nicks_speaking; /* for smart completion */
|
||||
struct t_gui_buffer *buffer; /* buffer allocated for channel */
|
||||
struct t_irc_channel *prev_channel; /* link to previous channel */
|
||||
struct t_irc_channel *next_channel; /* link to next channel */
|
||||
int type; /* channel type */
|
||||
struct t_irc_dcc *dcc_chat; /* DCC CHAT pointer (NULL if not DCC)*/
|
||||
char *name; /* name of channel (exemple: "#abc") */
|
||||
char *topic; /* topic of channel (host for pv) */
|
||||
char *modes; /* channel modes */
|
||||
int limit; /* user limit (0 is limit not set) */
|
||||
char *key; /* channel key (NULL if no key set) */
|
||||
int nicks_count; /* # nicks on channel (0 if dcc/pv) */
|
||||
int checking_away; /* = 1 if checking away with WHO cmd */
|
||||
char *away_message; /* to display away only once in pv */
|
||||
int cycle; /* currently cycling (/part + /join) */
|
||||
int close; /* close request (/buffer close) */
|
||||
int display_creation_date; /* 1 for displaying creation date */
|
||||
int nick_completion_reset; /* 1 for resetting nick completion */
|
||||
/* there was some join/part on chan */
|
||||
struct t_irc_nick *nicks; /* nicks on the channel */
|
||||
struct t_irc_nick *last_nick; /* last nick on the channel */
|
||||
struct t_weelist *nicks_speaking; /* for smart completion */
|
||||
struct t_gui_buffer *buffer; /* buffer allocated for channel */
|
||||
struct t_irc_channel *prev_channel; /* link to previous channel */
|
||||
struct t_irc_channel *next_channel; /* link to next channel */
|
||||
};
|
||||
|
||||
extern struct t_irc_channel *irc_channel_new (struct t_irc_server *, int, char *, int);
|
||||
extern void irc_channel_free (struct t_irc_server *, struct t_irc_channel *);
|
||||
extern void irc_channel_free_all (struct t_irc_server *);
|
||||
extern struct t_irc_channel *irc_channel_search (struct t_irc_server *, char *);
|
||||
extern struct t_irc_channel *irc_channel_search_any (struct t_irc_server *, char *);
|
||||
extern struct t_irc_channel *irc_channel_search_any_without_buffer (struct t_irc_server *, char *);
|
||||
extern struct t_irc_channel *irc_channel_search_dcc (struct t_irc_server *, char *);
|
||||
extern int irc_channel_is_channel (char *);
|
||||
extern void irc_channel_remove_away (struct t_irc_channel *);
|
||||
extern void irc_channel_check_away (struct t_irc_server *, struct t_irc_channel *, int);
|
||||
extern void irc_channel_set_away (struct t_irc_channel *, char *, int);
|
||||
extern int irc_channel_create_dcc (void *);
|
||||
extern int irc_channel_get_notify_level (struct t_irc_server *, struct t_irc_channel *);
|
||||
extern void irc_channel_set_notify_level (struct t_irc_server *, struct t_irc_channel *, int);
|
||||
extern void irc_channel_add_nick_speaking (struct t_irc_channel *, char *);
|
||||
extern void irc_channel_print_log (struct t_irc_channel *);
|
||||
extern struct t_irc_channel *irc_channel_new (struct t_irc_server *server,
|
||||
int channel_type,
|
||||
char *channel_name,
|
||||
int switch_to_channel);
|
||||
extern void irc_channel_free (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel);
|
||||
extern void irc_channel_free_all (struct t_irc_server *server);
|
||||
extern struct t_irc_channel *irc_channel_search (struct t_irc_server *server,
|
||||
char *channel_name);
|
||||
extern struct t_irc_channel *irc_channel_search_any (struct t_irc_server *server,
|
||||
char *channel_name);
|
||||
extern struct t_irc_channel *irc_channel_search_any_without_buffer (struct t_irc_server *server,
|
||||
char *channel_name);
|
||||
extern struct t_irc_channel *irc_channel_search_dcc (struct t_irc_server *server,
|
||||
char *channel_name);
|
||||
extern int irc_channel_is_channel (char *string);
|
||||
extern void irc_channel_remove_away (struct t_irc_channel *channel);
|
||||
extern void irc_channel_check_away (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel, int force);
|
||||
extern void irc_channel_set_away (struct t_irc_channel *channel, char *nick,
|
||||
int is_away);
|
||||
extern int irc_channel_create_dcc (struct t_irc_dcc *dcc);
|
||||
extern int irc_channel_get_notify_level (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel);
|
||||
extern void irc_channel_set_notify_level (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel,
|
||||
int notify);
|
||||
extern void irc_channel_add_nick_speaking (struct t_irc_channel *channel,
|
||||
char *nick);
|
||||
extern void irc_channel_print_log (struct t_irc_channel *channel);
|
||||
|
||||
#endif /* irc-channel.h */
|
||||
|
||||
@@ -40,7 +40,8 @@
|
||||
*/
|
||||
|
||||
unsigned char *
|
||||
irc_color_decode (unsigned char *string, int keep_irc_colors, int keep_weechat_attr)
|
||||
irc_color_decode (unsigned char *string, int keep_irc_colors,
|
||||
int keep_weechat_attr)
|
||||
{
|
||||
/*unsigned char *out;
|
||||
int out_length, out_pos, length;
|
||||
|
||||
@@ -51,8 +51,10 @@
|
||||
#define IRC_COLOR_UNDERLINE_CHAR '\x1F'
|
||||
#define IRC_COLOR_UNDERLINE_STR "\x1F"
|
||||
|
||||
extern unsigned char *irc_color_decode (unsigned char *, int, int);
|
||||
extern unsigned char *irc_color_decode_for_user_entry (unsigned char *);
|
||||
extern unsigned char *irc_color_encode (unsigned char *, int);
|
||||
extern unsigned char *irc_color_decode (unsigned char *string,
|
||||
int keep_irc_colors,
|
||||
int keep_weechat_attr);
|
||||
extern unsigned char *irc_color_decode_for_user_entry (unsigned char *string);
|
||||
extern unsigned char *irc_color_encode (unsigned char *string, int keep_colors);
|
||||
|
||||
#endif /* irc-color.h */
|
||||
|
||||
+125
-124
@@ -45,8 +45,8 @@
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_admin (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_admin (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -143,8 +143,8 @@ irc_command_mode_nicks (struct t_irc_server *server, char *channel,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_ame (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_ame (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
struct t_irc_channel *ptr_channel;
|
||||
@@ -181,8 +181,8 @@ irc_command_ame (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_amsg (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_amsg (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
struct t_irc_channel *ptr_channel;
|
||||
@@ -261,7 +261,7 @@ irc_command_away_server (struct t_irc_server *server, char *arguments)
|
||||
{
|
||||
if (server->away_message)
|
||||
free (server->away_message);
|
||||
server->away_message = (char *) malloc (strlen (arguments) + 1);
|
||||
server->away_message = (char *)malloc (strlen (arguments) + 1);
|
||||
if (server->away_message)
|
||||
strcpy (server->away_message, arguments);
|
||||
|
||||
@@ -376,8 +376,8 @@ irc_command_away_server (struct t_irc_server *server, char *arguments)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_away (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_away (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server)
|
||||
@@ -410,8 +410,8 @@ irc_command_away (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_ban (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_ban (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *pos_channel;
|
||||
int pos_args;
|
||||
@@ -522,8 +522,8 @@ irc_command_connect_one_server (struct t_irc_server *server, int no_join)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_connect (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_connect (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
struct t_irc_server server_tmp;
|
||||
int i, nb_connect, connect_ok, all_servers, no_join, port, ipv6, ssl;
|
||||
@@ -672,8 +672,8 @@ irc_command_connect (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_ctcp (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_ctcp (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *pos, *irc_cmd;
|
||||
struct timeval tv;
|
||||
@@ -760,8 +760,8 @@ irc_command_ctcp (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_cycle (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_cycle (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *channel_name, *pos_args, *ptr_arg, *buf, *version;
|
||||
char **channels;
|
||||
@@ -863,8 +863,8 @@ irc_command_cycle (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_dcc (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_dcc (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -872,6 +872,7 @@ irc_command_dcc (void *data, void *buffer, int argc, char **argv,
|
||||
|
||||
/* make compiler happy */
|
||||
(void) data;
|
||||
(void) argv_eol; // to remove!
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
@@ -928,8 +929,8 @@ irc_command_dcc (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_dehalfop (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_dehalfop (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -965,8 +966,8 @@ irc_command_dehalfop (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_deop (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_deop (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1002,8 +1003,8 @@ irc_command_deop (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_devoice (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_devoice (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1039,8 +1040,8 @@ irc_command_devoice (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_die (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_die (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1129,8 +1130,8 @@ irc_command_disconnect_one_server (struct t_irc_server *server)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_disconnect (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_disconnect (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
int i, disconnect_ok;
|
||||
|
||||
@@ -1191,8 +1192,8 @@ irc_command_disconnect (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_halfop (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_halfop (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1228,8 +1229,8 @@ irc_command_halfop (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_info (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_info (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1251,8 +1252,8 @@ irc_command_info (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_invite (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_invite (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1287,8 +1288,8 @@ irc_command_invite (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_ison (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_ison (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1326,8 +1327,8 @@ irc_command_join_server (struct t_irc_server *server, char *arguments)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_join (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_join (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1352,8 +1353,8 @@ irc_command_join (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_kick (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_kick (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *pos_channel, *pos_nick, *pos_comment;
|
||||
|
||||
@@ -1418,8 +1419,8 @@ irc_command_kick (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_kickban (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_kickban (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *pos_channel, *pos_nick, *pos_comment;
|
||||
|
||||
@@ -1486,8 +1487,8 @@ irc_command_kickban (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_kill (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_kill (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1515,8 +1516,8 @@ irc_command_kill (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_links (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_links (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1539,8 +1540,8 @@ irc_command_links (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_list (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_list (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char buf[512];
|
||||
int ret;
|
||||
@@ -1562,7 +1563,7 @@ irc_command_list (void *data, void *buffer, int argc, char **argv,
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
ptr_server->cmd_list_regexp = (regex_t *) malloc (sizeof (regex_t));
|
||||
ptr_server->cmd_list_regexp = (regex_t *)malloc (sizeof (regex_t));
|
||||
if (ptr_server->cmd_list_regexp)
|
||||
{
|
||||
if ((ret = regcomp (ptr_server->cmd_list_regexp,
|
||||
@@ -1600,8 +1601,8 @@ irc_command_list (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_lusers (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_lusers (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1624,7 +1625,7 @@ irc_command_lusers (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_me (void *data, void *buffer, int argc, char **argv,
|
||||
irc_command_me (void *data, struct t_gui_buffer *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
@@ -1670,8 +1671,8 @@ irc_command_mode_server (struct t_irc_server *server, char *arguments)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_mode (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_mode (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1696,8 +1697,8 @@ irc_command_mode (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_motd (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_motd (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1720,8 +1721,8 @@ irc_command_motd (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_msg (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_msg (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char **targets;
|
||||
int num_targets, i;
|
||||
@@ -1895,8 +1896,8 @@ irc_command_msg (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_names (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_names (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -1959,8 +1960,8 @@ irc_send_nick_server (struct t_irc_server *server, char *nickname)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_nick (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_nick (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server)
|
||||
@@ -2003,8 +2004,8 @@ irc_command_nick (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_notice (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_notice (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *string;
|
||||
|
||||
@@ -2045,7 +2046,7 @@ irc_command_notice (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_op (void *data, void *buffer, int argc, char **argv,
|
||||
irc_command_op (void *data, struct t_gui_buffer *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
@@ -2082,8 +2083,8 @@ irc_command_op (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_oper (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_oper (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -2108,8 +2109,8 @@ irc_command_oper (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_part (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_part (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *channel_name, *pos_args, *ptr_arg, *buf, *version;
|
||||
|
||||
@@ -2155,7 +2156,7 @@ irc_command_part (void *data, void *buffer, int argc, char **argv,
|
||||
}
|
||||
if (!ptr_channel->nicks)
|
||||
{
|
||||
weechat_buffer_close (ptr_channel->buffer);
|
||||
weechat_buffer_close (ptr_channel->buffer, 1);
|
||||
ptr_channel->buffer = NULL;
|
||||
irc_channel_free (ptr_server, ptr_channel);
|
||||
//gui_status_draw (gui_current_window->buffer, 1);
|
||||
@@ -2194,8 +2195,8 @@ irc_command_part (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_ping (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_ping (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -2220,8 +2221,8 @@ irc_command_ping (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_pong (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_pong (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server)
|
||||
@@ -2246,8 +2247,8 @@ irc_command_pong (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_query (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_query (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *string;
|
||||
|
||||
@@ -2310,8 +2311,8 @@ irc_command_query (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_quote (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_quote (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server)// || !ptr_server->is_connected)
|
||||
@@ -2367,8 +2368,8 @@ irc_command_reconnect_one_server (struct t_irc_server *server, int no_join)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_reconnect (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_reconnect (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
int i, nb_reconnect, reconnect_ok, all_servers, no_join;
|
||||
|
||||
@@ -2442,8 +2443,8 @@ irc_command_reconnect (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_rehash (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_rehash (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -2465,8 +2466,8 @@ irc_command_rehash (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_restart (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_restart (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -2488,8 +2489,8 @@ irc_command_restart (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_server (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_server (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
int i, detailed_list, one_server_found;
|
||||
struct t_irc_server server_tmp, *ptr_server, *server_found, *new_server;
|
||||
@@ -2568,7 +2569,7 @@ irc_command_server (void *data, void *buffer, int argc, char **argv,
|
||||
{
|
||||
IRC_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server add");
|
||||
}
|
||||
if (irc_server_name_already_exists (argv[2]))
|
||||
if (irc_server_search (argv[2]))
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%sirc: server \"%s\" already exists, "
|
||||
@@ -2974,8 +2975,8 @@ irc_command_server (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_service (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_service (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3000,8 +3001,8 @@ irc_command_service (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_servlist (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_servlist (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3024,8 +3025,8 @@ irc_command_servlist (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_squery (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_squery (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3055,8 +3056,8 @@ irc_command_squery (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_squit (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_squit (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3081,8 +3082,8 @@ irc_command_squit (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_stats (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_stats (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3106,8 +3107,8 @@ irc_command_stats (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_summon (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_summon (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3132,8 +3133,8 @@ irc_command_summon (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_time (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_time (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3156,8 +3157,8 @@ irc_command_time (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_topic (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_topic (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *channel_name, *new_topic;
|
||||
|
||||
@@ -3219,8 +3220,8 @@ irc_command_topic (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_trace (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_trace (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3243,8 +3244,8 @@ irc_command_trace (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_unban (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_unban (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
char *pos_channel;
|
||||
int pos_args;
|
||||
@@ -3309,8 +3310,8 @@ irc_command_unban (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_userhost (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_userhost (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3335,8 +3336,8 @@ irc_command_userhost (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_users (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_users (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3359,8 +3360,8 @@ irc_command_users (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_version (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_version (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3391,8 +3392,8 @@ irc_command_version (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_voice (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_voice (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3429,8 +3430,8 @@ irc_command_voice (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_wallops (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_wallops (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3455,8 +3456,8 @@ irc_command_wallops (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_who (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_who (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3479,8 +3480,8 @@ irc_command_who (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_whois (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_whois (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
@@ -3505,8 +3506,8 @@ irc_command_whois (void *data, void *buffer, int argc, char **argv,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_command_whowas (void *data, void *buffer, int argc, char **argv,
|
||||
char **argv_eol)
|
||||
irc_command_whowas (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
char **argv, char **argv_eol)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
if (!ptr_server || !ptr_server->is_connected)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#ifndef __WEECHAT_IRC_COMMAND_H
|
||||
#define __WEECHAT_IRC_COMMAND_H 1
|
||||
|
||||
#include "irc-server.h"
|
||||
struct t_irc_server;
|
||||
|
||||
#define IRC_COMMAND_TOO_FEW_ARGUMENTS(__buffer, __command) \
|
||||
weechat_printf (__buffer, \
|
||||
@@ -29,10 +29,14 @@
|
||||
return WEECHAT_RC_ERROR;
|
||||
|
||||
|
||||
extern void irc_command_away_server (struct t_irc_server *, char *);
|
||||
extern void irc_command_join_server (struct t_irc_server *, char *);
|
||||
extern void irc_command_mode_server (struct t_irc_server *, char *);
|
||||
extern void irc_command_quit_server (struct t_irc_server *, char *);
|
||||
extern void irc_command_away_server (struct t_irc_server *server,
|
||||
char *arguments);
|
||||
extern void irc_command_join_server (struct t_irc_server *server,
|
||||
char *arguments);
|
||||
extern void irc_command_mode_server (struct t_irc_server *server,
|
||||
char *arguments);
|
||||
extern void irc_command_quit_server (struct t_irc_server *server,
|
||||
char *arguments);
|
||||
extern void irc_command_init ();
|
||||
|
||||
#endif /* irc-command.h */
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_server_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_server_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer, struct t_weelist *list)
|
||||
{
|
||||
IRC_GET_SERVER(buffer);
|
||||
|
||||
@@ -61,8 +61,9 @@ irc_completion_server_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_server_nicks_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_server_nicks_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer,
|
||||
struct t_weelist *list)
|
||||
{
|
||||
struct t_irc_server *ptr_server2;
|
||||
struct t_irc_channel *ptr_channel2;
|
||||
@@ -117,8 +118,8 @@ irc_completion_server_nicks_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_servers_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_servers_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer, struct t_weelist *list)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
|
||||
@@ -141,8 +142,8 @@ irc_completion_servers_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_channel_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_channel_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer, struct t_weelist *list)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
|
||||
@@ -162,8 +163,9 @@ irc_completion_channel_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_channel_nicks_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_channel_nicks_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer,
|
||||
struct t_weelist *list)
|
||||
{
|
||||
struct t_irc_nick *ptr_nick;
|
||||
char *nick;
|
||||
@@ -218,8 +220,9 @@ irc_completion_channel_nicks_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_channel_nicks_hosts_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_channel_nicks_hosts_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer,
|
||||
struct t_weelist *list)
|
||||
{
|
||||
struct t_irc_nick *ptr_nick;
|
||||
char *buf;
|
||||
@@ -243,7 +246,7 @@ irc_completion_channel_nicks_hosts_cb (void *data, char *completion, void *buffe
|
||||
{
|
||||
length = strlen (ptr_nick->nick) + 1 +
|
||||
strlen (ptr_nick->host) + 1;
|
||||
buf = (char *) malloc (length);
|
||||
buf = (char *)malloc (length);
|
||||
if (buf)
|
||||
{
|
||||
snprintf (buf, length, "%s!%s",
|
||||
@@ -270,8 +273,9 @@ irc_completion_channel_nicks_hosts_cb (void *data, char *completion, void *buffe
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_channel_topic_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_channel_topic_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer,
|
||||
struct t_weelist *list)
|
||||
{
|
||||
IRC_GET_SERVER_CHANNEL(buffer);
|
||||
|
||||
@@ -292,8 +296,8 @@ irc_completion_channel_topic_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_channels_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_channels_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer, struct t_weelist *list)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
struct t_irc_channel *ptr_channel;
|
||||
@@ -321,8 +325,8 @@ irc_completion_channels_cb (void *data, char *completion, void *buffer,
|
||||
*/
|
||||
|
||||
int
|
||||
irc_completion_msg_part_cb (void *data, char *completion, void *buffer,
|
||||
void *list)
|
||||
irc_completion_msg_part_cb (void *data, char *completion,
|
||||
struct t_gui_buffer *buffer, struct t_weelist *list)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
@@ -339,3 +343,25 @@ irc_completion_msg_part_cb (void *data, char *completion, void *buffer,
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_completion_init: init completion for IRC plugin
|
||||
*/
|
||||
|
||||
void
|
||||
irc_completion_init ()
|
||||
{
|
||||
weechat_hook_completion ("irc_server", &irc_completion_server_cb, NULL);
|
||||
weechat_hook_completion ("irc_server_nicks",
|
||||
&irc_completion_server_nicks_cb, NULL);
|
||||
weechat_hook_completion ("irc_servers", &irc_completion_servers_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel", &irc_completion_channel_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel_nicks",
|
||||
&irc_completion_channel_nicks_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel_nicks_hosts",
|
||||
&irc_completion_channel_nicks_hosts_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel_topic",
|
||||
&irc_completion_channel_topic_cb, NULL);
|
||||
weechat_hook_completion ("irc_channels", &irc_completion_channels_cb, NULL);
|
||||
weechat_hook_completion ("irc_msg_part", &irc_completion_msg_part_cb, NULL);
|
||||
}
|
||||
|
||||
@@ -20,15 +20,6 @@
|
||||
#ifndef __WEECHAT_IRC_COMPLETION_H
|
||||
#define __WEECHAT_IRC_COMPLETION_H 1
|
||||
|
||||
extern int irc_completion_server_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_server_nicks_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_servers_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_channel_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_channel_nicks_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_channel_nicks_hosts_cb (void *, char *, void *,
|
||||
void *);
|
||||
extern int irc_completion_channel_topic_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_channels_cb (void *, char *, void *, void *);
|
||||
extern int irc_completion_msg_part_cb (void *, char *, void *, void *);
|
||||
extern void irc_completion_init ();
|
||||
|
||||
#endif /* irc-completion.h */
|
||||
|
||||
@@ -211,7 +211,8 @@ irc_config_change_notify_levels ()
|
||||
*/
|
||||
|
||||
void
|
||||
irc_config_read_server_line (void *config_file, char *option_name, char *value)
|
||||
irc_config_read_server_line (struct t_config_file *config_file,
|
||||
char *option_name, char *value)
|
||||
{
|
||||
struct t_config_option *ptr_option;
|
||||
int rc;
|
||||
@@ -228,7 +229,7 @@ irc_config_read_server_line (void *config_file, char *option_name, char *value)
|
||||
option_name);
|
||||
if (ptr_option)
|
||||
{
|
||||
rc = weechat_config_option_set (ptr_option, value);
|
||||
rc = weechat_config_option_set (ptr_option, value, 0);
|
||||
switch (rc)
|
||||
{
|
||||
case 2:
|
||||
@@ -280,7 +281,8 @@ irc_config_read_server_line (void *config_file, char *option_name, char *value)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_config_write_servers (void *config_file, char *section_name)
|
||||
irc_config_write_servers (struct t_config_file *config_file,
|
||||
char *section_name)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
|
||||
@@ -337,7 +339,8 @@ irc_config_write_servers (void *config_file, char *section_name)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_config_write_server_default (void *config_file, char *section_name)
|
||||
irc_config_write_server_default (struct t_config_file *config_file,
|
||||
char *section_name)
|
||||
{
|
||||
struct passwd *my_passwd;
|
||||
char *realname, *pos;
|
||||
|
||||
@@ -67,11 +67,6 @@ struct t_config_option *irc_config_log_auto_channel;
|
||||
struct t_config_option *irc_config_log_auto_private;
|
||||
struct t_config_option *irc_config_log_hide_nickserv_pwd;
|
||||
|
||||
void irc_config_change_noop ();
|
||||
void irc_config_change_one_server_buffer ();
|
||||
void irc_config_change_away_check ();
|
||||
void irc_config_change_log ();
|
||||
void irc_config_change_notify_levels ();
|
||||
int irc_config_init ();
|
||||
int irc_config_read ();
|
||||
int irc_config_reload_cb ();
|
||||
|
||||
+258
-257
File diff suppressed because it is too large
Load Diff
+19
-13
@@ -110,20 +110,26 @@ extern struct t_irc_dcc *irc_dcc_list;
|
||||
extern struct t_irc_dcc *irc_last_dcc;
|
||||
extern char *irc_dcc_status_string[6];
|
||||
|
||||
extern void irc_dcc_redraw (int);
|
||||
extern void irc_dcc_free (struct t_irc_dcc *);
|
||||
extern void irc_dcc_close (struct t_irc_dcc *, int);
|
||||
extern void irc_dcc_chat_remove_channel (struct t_irc_channel *);
|
||||
extern void irc_dcc_accept (struct t_irc_dcc *);
|
||||
extern void irc_dcc_accept_resume (struct t_irc_server *, char *, int, unsigned long);
|
||||
extern void irc_dcc_start_resume (struct t_irc_server *, char *, int, unsigned long);
|
||||
extern void irc_dcc_redraw (int highlight);
|
||||
extern void irc_dcc_free (struct t_irc_dcc *dcc);
|
||||
extern void irc_dcc_close (struct t_irc_dcc *dcc, int status);
|
||||
extern void irc_dcc_chat_remove_channel (struct t_irc_channel *channel);
|
||||
extern void irc_dcc_accept (struct t_irc_dcc *dcc);
|
||||
extern void irc_dcc_accept_resume (struct t_irc_server *server, char *filename,
|
||||
int port, unsigned long pos_start);
|
||||
extern void irc_dcc_start_resume (struct t_irc_server *server, char *filename,
|
||||
int port, unsigned long pos_start);
|
||||
extern struct t_irc_dcc *irc_dcc_alloc ();
|
||||
extern struct t_irc_dcc *irc_dcc_add (struct t_irc_server *, int, unsigned long, int, char *, int,
|
||||
char *, char *, unsigned long);
|
||||
extern void irc_dcc_send_request (struct t_irc_server *, int, char *, char *);
|
||||
extern void irc_dcc_chat_sendf (struct t_irc_dcc *, char *, ...);
|
||||
extern void irc_dcc_file_send_fork (struct t_irc_dcc *);
|
||||
extern void irc_dcc_file_recv_fork (struct t_irc_dcc *);
|
||||
extern struct t_irc_dcc *irc_dcc_add (struct t_irc_server *server,
|
||||
int type, unsigned long addr,
|
||||
int port, char *nick, int sock,
|
||||
char *filename, char *local_filename,
|
||||
unsigned long size);
|
||||
extern void irc_dcc_send_request (struct t_irc_server *server, int type,
|
||||
char *nick, char *filename);
|
||||
extern void irc_dcc_chat_sendf (struct t_irc_dcc *dcc, char *format, ...);
|
||||
extern void irc_dcc_file_send_fork (struct t_irc_dcc *dcc);
|
||||
extern void irc_dcc_file_recv_fork (struct t_irc_dcc *dcc);
|
||||
extern void irc_dcc_handle ();
|
||||
extern void irc_dcc_end ();
|
||||
extern void irc_dcc_print_log ();
|
||||
|
||||
@@ -20,12 +20,16 @@
|
||||
#ifndef __WEECHAT_IRC_DISPLAY_H
|
||||
#define __WEECHAT_IRC_DISPLAY_H 1
|
||||
|
||||
extern void irc_display_hide_password (char *, int);
|
||||
extern void irc_display_nick (struct t_gui_buffer *, struct t_irc_nick *,
|
||||
char *, int, int, char *, int);
|
||||
extern void irc_display_away (struct t_irc_server *, char *, char *);
|
||||
extern void irc_display_mode (struct t_gui_buffer *, char *, char *,
|
||||
char, char *, char *, char *, char *);
|
||||
extern void irc_display_server (struct t_irc_server *, int);
|
||||
extern void irc_display_hide_password (char *string, int look_for_nickserv);
|
||||
extern void irc_display_nick (struct t_gui_buffer *buffer,
|
||||
struct t_irc_nick *nick, char *nickname,
|
||||
int type, int display_around, char *force_color,
|
||||
int no_nickmode);
|
||||
extern void irc_display_away (struct t_irc_server *server, char *string1,
|
||||
char *string2);
|
||||
extern void irc_display_mode (struct t_gui_buffer *buffer, char *channel_name,
|
||||
char *nick_name, char set_flag, char *symbol,
|
||||
char *nick_host, char *message, char *param);
|
||||
extern void irc_display_server (struct t_irc_server *server, int with_detail);
|
||||
|
||||
#endif /* irc-display.h */
|
||||
|
||||
@@ -239,8 +239,8 @@ irc_mode_user_add (struct t_irc_server *server, char mode)
|
||||
{
|
||||
if (!strchr (server->nick_modes, mode))
|
||||
{
|
||||
server->nick_modes = (char *) realloc (server->nick_modes,
|
||||
strlen (server->nick_modes) + 1 + 1);
|
||||
server->nick_modes = (char *)realloc (server->nick_modes,
|
||||
strlen (server->nick_modes) + 1 + 1);
|
||||
strcat (server->nick_modes, str_mode);
|
||||
//gui_status_draw (gui_current_window->buffer, 1);
|
||||
//gui_input_draw (gui_current_window->buffer, 1);
|
||||
@@ -248,7 +248,7 @@ irc_mode_user_add (struct t_irc_server *server, char mode)
|
||||
}
|
||||
else
|
||||
{
|
||||
server->nick_modes = (char *) malloc (2);
|
||||
server->nick_modes = (char *)malloc (2);
|
||||
strcpy (server->nick_modes, str_mode);
|
||||
//gui_status_draw (gui_current_window->buffer, 1);
|
||||
//gui_input_draw (gui_current_window->buffer, 1);
|
||||
@@ -272,8 +272,8 @@ irc_mode_user_remove (struct t_irc_server *server, char mode)
|
||||
{
|
||||
new_size = strlen (server->nick_modes);
|
||||
memmove (pos, pos + 1, strlen (pos + 1) + 1);
|
||||
server->nick_modes = (char *) realloc (server->nick_modes,
|
||||
new_size);
|
||||
server->nick_modes = (char *)realloc (server->nick_modes,
|
||||
new_size);
|
||||
//gui_status_draw (gui_current_window->buffer, 1);
|
||||
//gui_input_draw (gui_current_window->buffer, 1);
|
||||
}
|
||||
|
||||
@@ -22,9 +22,10 @@
|
||||
|
||||
#include "irc-server.h"
|
||||
|
||||
extern void irc_mode_channel_set (struct t_irc_server *,
|
||||
struct t_irc_channel *, char *);
|
||||
extern void irc_mode_user_set (struct t_irc_server *, char *);
|
||||
extern int irc_mode_nick_prefix_allowed (struct t_irc_server *, char);
|
||||
extern void irc_mode_channel_set (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel, char *modes);
|
||||
extern void irc_mode_user_set (struct t_irc_server *server, char *modes);
|
||||
extern int irc_mode_nick_prefix_allowed (struct t_irc_server *server,
|
||||
char prefix);
|
||||
|
||||
#endif /* irc-mode.h */
|
||||
|
||||
@@ -49,7 +49,8 @@ irc_nick_find_color (struct t_irc_nick *nick)
|
||||
{
|
||||
color += (int)(nick->nick[i]);
|
||||
}
|
||||
color = (color % weechat_config_integer (weechat_config_get ("look_color_nicks_number")));
|
||||
color = (color %
|
||||
weechat_config_integer (weechat_config_get_weechat ("look_color_nicks_number")));
|
||||
|
||||
return color;
|
||||
}
|
||||
@@ -164,7 +165,7 @@ irc_nick_new (struct t_irc_server *server, struct t_irc_channel *channel,
|
||||
}
|
||||
|
||||
// alloc memory for new nick
|
||||
if ((new_nick = (struct t_irc_nick *) malloc (sizeof (struct t_irc_nick))) == NULL)
|
||||
if ((new_nick = (struct t_irc_nick *)malloc (sizeof (struct t_irc_nick))) == NULL)
|
||||
return NULL;
|
||||
|
||||
// initialize new nick
|
||||
|
||||
+25
-14
@@ -50,19 +50,30 @@ struct t_irc_nick
|
||||
struct t_irc_nick *next_nick; /* link to next nick on channel */
|
||||
};
|
||||
|
||||
extern int irc_nick_find_color (struct t_irc_nick *);
|
||||
extern void irc_nick_get_gui_infos (struct t_irc_nick *, int *, char *, int *);
|
||||
extern struct t_irc_nick *irc_nick_new (struct t_irc_server *,
|
||||
struct t_irc_channel *, char *,
|
||||
int, int, int, int, int, int, int);
|
||||
extern void irc_nick_change (struct t_irc_server *, struct t_irc_channel *,
|
||||
struct t_irc_nick *, char *);
|
||||
extern void irc_nick_free (struct t_irc_channel *, struct t_irc_nick *);
|
||||
extern void irc_nick_free_all (struct t_irc_channel *);
|
||||
extern struct t_irc_nick *irc_nick_search (struct t_irc_channel *, char *);
|
||||
extern void irc_nick_count (struct t_irc_channel *, int *, int *, int *, int *, int *);
|
||||
extern void irc_nick_set_away (struct t_irc_channel *, struct t_irc_nick *, int);
|
||||
extern char *irc_nick_as_prefix (struct t_irc_nick *, char *, char *);
|
||||
extern void irc_nick_print_log (struct t_irc_nick *);
|
||||
extern int irc_nick_find_color (struct t_irc_nick *nick);
|
||||
extern void irc_nick_get_gui_infos (struct t_irc_nick *nick, int *sort_index,
|
||||
char *prefix, int *color_prefix);
|
||||
extern struct t_irc_nick *irc_nick_new (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel,
|
||||
char *nick_name, int is_chanowner,
|
||||
int is_chanadmin, int is_chanadmin2,
|
||||
int is_op, int is_halfop,
|
||||
int has_voice, int is_chanuser);
|
||||
extern void irc_nick_change (struct t_irc_server *server,
|
||||
struct t_irc_channel *channel,
|
||||
struct t_irc_nick *nick, char *new_nick);
|
||||
extern void irc_nick_free (struct t_irc_channel *channel,
|
||||
struct t_irc_nick *nick);
|
||||
extern void irc_nick_free_all (struct t_irc_channel *channel);
|
||||
extern struct t_irc_nick *irc_nick_search (struct t_irc_channel *channel,
|
||||
char *nickname);
|
||||
extern void irc_nick_count (struct t_irc_channel *channel, int *total,
|
||||
int *count_op, int *count_halfop, int *count_voice,
|
||||
int *count_normal);
|
||||
extern void irc_nick_set_away (struct t_irc_channel *channel,
|
||||
struct t_irc_nick *nick, int is_away);
|
||||
extern char *irc_nick_as_prefix (struct t_irc_nick *nick, char *nickname,
|
||||
char *force_color);
|
||||
extern void irc_nick_print_log (struct t_irc_nick *nick);
|
||||
|
||||
#endif /* irc-nick.h */
|
||||
|
||||
@@ -1177,7 +1177,7 @@ irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *h
|
||||
(void) irc_message;
|
||||
|
||||
look_infobar_delay_highlight = weechat_config_integer (
|
||||
weechat_config_get ("look_infobar_delay_highlight"));
|
||||
weechat_config_get_weechat ("look_infobar_delay_highlight"));
|
||||
|
||||
host2 = NULL;
|
||||
if (host)
|
||||
@@ -1485,7 +1485,7 @@ irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *hos
|
||||
}
|
||||
if (ptr_channel->close)
|
||||
{
|
||||
weechat_buffer_close (ptr_channel->buffer);
|
||||
weechat_buffer_close (ptr_channel->buffer, 1);
|
||||
ptr_channel->buffer = NULL;
|
||||
irc_channel_free (server, ptr_channel);
|
||||
ptr_channel = NULL;
|
||||
@@ -1608,7 +1608,7 @@ irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *c
|
||||
pos = NULL;
|
||||
}
|
||||
|
||||
buf = (struct utsname *) malloc (sizeof (struct utsname));
|
||||
buf = (struct utsname *)malloc (sizeof (struct utsname));
|
||||
if (buf && (uname (buf) >= 0))
|
||||
{
|
||||
irc_server_sendf (server,
|
||||
@@ -1679,7 +1679,7 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
|
||||
}
|
||||
|
||||
look_infobar_delay_highlight = weechat_config_integer (
|
||||
weechat_config_get ("look_infobar_delay_highlight"));
|
||||
weechat_config_get_weechat ("look_infobar_delay_highlight"));
|
||||
|
||||
pos = strchr (host, '!');
|
||||
if (pos)
|
||||
@@ -3817,10 +3817,10 @@ irc_protocol_cmd_324 (struct t_irc_server *server, char *irc_message, char *host
|
||||
if (pos_modes[0])
|
||||
{
|
||||
if (ptr_channel->modes)
|
||||
ptr_channel->modes = (char *) realloc (ptr_channel->modes,
|
||||
strlen (pos_modes) + 1);
|
||||
ptr_channel->modes = (char *)realloc (ptr_channel->modes,
|
||||
strlen (pos_modes) + 1);
|
||||
else
|
||||
ptr_channel->modes = (char *) malloc (strlen (pos_modes) + 1);
|
||||
ptr_channel->modes = (char *)malloc (strlen (pos_modes) + 1);
|
||||
strcpy (ptr_channel->modes, pos_modes);
|
||||
irc_mode_channel_set (server, ptr_channel, pos_modes);
|
||||
}
|
||||
@@ -4715,7 +4715,7 @@ irc_protocol_cmd_352 (struct t_irc_server *server, char *irc_message, char *host
|
||||
if (ptr_nick->host)
|
||||
free (ptr_nick->host);
|
||||
length = strlen (pos_user) + 1 + strlen (pos_host) + 1;
|
||||
ptr_nick->host = (char *) malloc (length);
|
||||
ptr_nick->host = (char *)malloc (length);
|
||||
if (ptr_nick->host)
|
||||
snprintf (ptr_nick->host, length, "%s@%s", pos_user, pos_host);
|
||||
irc_nick_set_away (ptr_channel, ptr_nick,
|
||||
|
||||
@@ -22,8 +22,9 @@
|
||||
|
||||
#include "irc-server.h"
|
||||
|
||||
typedef int (t_irc_recv_func)(struct t_irc_server *, char *, char *, char *,
|
||||
char *, int, int);
|
||||
typedef int (t_irc_recv_func)(struct t_irc_server *server, char *irc_message,
|
||||
char *host, char *nick, char *arguments,
|
||||
int ignore, int highlight);
|
||||
|
||||
struct t_irc_protocol_msg
|
||||
{
|
||||
@@ -34,65 +35,65 @@ struct t_irc_protocol_msg
|
||||
|
||||
extern int irc_protocol_is_highlight (char *, char *);
|
||||
extern int irc_protocol_recv_command (struct t_irc_server *, char *, char *, char *, char *);
|
||||
extern int irc_protocol_cmd_error (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_invite (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_join (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_kick (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_kill (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_mode (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_nick (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_notice (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_part (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_ping (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_pong (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_privmsg (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_quit (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_server_mode_reason (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_server_msg (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_server_reply (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_topic (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_wallops (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_001 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_005 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_221 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_301 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_302 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_303 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_305 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_306 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_whois_nick_msg (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_310 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_311 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_312 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_314 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_315 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_317 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_319 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_321 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_322 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_323 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_324 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_327 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_329 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_331 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_332 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_333 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_338 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_341 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_344 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_345 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_348 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_349 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_351 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_352 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_353 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_365 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_366 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_367 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_368 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_432 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_433 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_438 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_671 (struct t_irc_server *, char *, char *, char *, char *, int, int);
|
||||
extern int irc_protocol_cmd_error (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_invite (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_join (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_kick (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_kill (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_mode (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_nick (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_ping (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_pong (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_quit (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_server_mode_reason (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_server_msg (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_server_reply (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_topic (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_wallops (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_001 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_005 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_221 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_301 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_302 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_303 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_305 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_306 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_whois_nick_msg (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_310 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_311 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_312 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_314 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_315 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_317 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_319 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_321 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_322 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_323 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_324 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_327 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_329 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_331 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_332 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_333 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_338 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_341 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_344 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_345 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_348 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_349 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_351 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_352 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_353 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_365 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_366 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_367 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_368 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_432 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_433 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_438 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
extern int irc_protocol_cmd_671 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
|
||||
|
||||
#endif /* irc-protocol.h */
|
||||
|
||||
@@ -235,7 +235,7 @@ irc_server_init_with_url (struct t_irc_server *server, char *irc_url)
|
||||
server->autojoin = strdup (pos_channel);
|
||||
else
|
||||
{
|
||||
server->autojoin = (char *) malloc (strlen (pos_channel) + 2);
|
||||
server->autojoin = (char *)malloc (strlen (pos_channel) + 2);
|
||||
strcpy (server->autojoin, "#");
|
||||
strcat (server->autojoin, pos_channel);
|
||||
}
|
||||
@@ -249,10 +249,10 @@ irc_server_init_with_url (struct t_irc_server *server, char *irc_url)
|
||||
/* some default values */
|
||||
if (server->port < 0)
|
||||
server->port = IRC_SERVER_DEFAULT_PORT;
|
||||
server->nick2 = (char *) malloc (strlen (server->nick1) + 2);
|
||||
server->nick2 = (char *)malloc (strlen (server->nick1) + 2);
|
||||
strcpy (server->nick2, server->nick1);
|
||||
server->nick2 = strcat (server->nick2, "1");
|
||||
server->nick3 = (char *) malloc (strlen (server->nick1) + 2);
|
||||
server->nick3 = (char *)malloc (strlen (server->nick1) + 2);
|
||||
strcpy (server->nick3, server->nick1);
|
||||
server->nick3 = strcat (server->nick3, "2");
|
||||
|
||||
@@ -266,7 +266,7 @@ irc_server_init_with_url (struct t_irc_server *server, char *irc_url)
|
||||
|
||||
void
|
||||
irc_server_init_with_config_options (struct t_irc_server *server,
|
||||
void *section,
|
||||
struct t_config_section *section,
|
||||
int config_reload)
|
||||
{
|
||||
struct t_config_option *ptr_option;
|
||||
@@ -423,7 +423,7 @@ irc_server_alloc ()
|
||||
struct t_irc_server *new_server;
|
||||
|
||||
/* alloc memory for new server */
|
||||
if ((new_server = (struct t_irc_server *) malloc (sizeof (struct t_irc_server))) == NULL)
|
||||
if ((new_server = (struct t_irc_server *)malloc (sizeof (struct t_irc_server))) == NULL)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%sirc: error when allocating new server"),
|
||||
@@ -952,7 +952,7 @@ irc_server_send_one_msg (struct t_irc_server *server, char *message)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_server_sendf (struct t_irc_server *server, char *fmt, ...)
|
||||
irc_server_sendf (struct t_irc_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
static char buffer[4096];
|
||||
@@ -962,8 +962,8 @@ irc_server_sendf (struct t_irc_server *server, char *fmt, ...)
|
||||
if (!server)
|
||||
return;
|
||||
|
||||
va_start (args, fmt);
|
||||
vsnprintf (buffer, sizeof (buffer) - 1, fmt, args);
|
||||
va_start (args, format);
|
||||
vsnprintf (buffer, sizeof (buffer) - 1, format, args);
|
||||
va_end (args);
|
||||
|
||||
ptr_buf = buffer;
|
||||
@@ -1044,7 +1044,7 @@ irc_server_msgq_add_msg (struct t_irc_server *server, char *msg)
|
||||
if (!server->unterminated_message && !msg[0])
|
||||
return;
|
||||
|
||||
message = (struct t_irc_message *) malloc (sizeof (struct t_irc_message));
|
||||
message = (struct t_irc_message *)malloc (sizeof (struct t_irc_message));
|
||||
if (!message)
|
||||
{
|
||||
weechat_printf (server->buffer,
|
||||
@@ -1056,8 +1056,8 @@ irc_server_msgq_add_msg (struct t_irc_server *server, char *msg)
|
||||
message->server = server;
|
||||
if (server->unterminated_message)
|
||||
{
|
||||
message->data = (char *) malloc (strlen (server->unterminated_message) +
|
||||
strlen (msg) + 1);
|
||||
message->data = (char *)malloc (strlen (server->unterminated_message) +
|
||||
strlen (msg) + 1);
|
||||
if (!message->data)
|
||||
{
|
||||
weechat_printf (server->buffer,
|
||||
@@ -1102,9 +1102,9 @@ irc_server_msgq_add_unterminated (struct t_irc_server *server, char *string)
|
||||
if (server->unterminated_message)
|
||||
{
|
||||
server->unterminated_message =
|
||||
(char *) realloc (server->unterminated_message,
|
||||
strlen (server->unterminated_message) +
|
||||
strlen (string) + 1);
|
||||
(char *)realloc (server->unterminated_message,
|
||||
strlen (server->unterminated_message) +
|
||||
strlen (string) + 1);
|
||||
if (!server->unterminated_message)
|
||||
{
|
||||
weechat_printf (server->buffer,
|
||||
@@ -1292,11 +1292,11 @@ irc_server_msgq_flush ()
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_recv: receive data from an irc server
|
||||
* irc_server_recv_cb: receive data from an irc server
|
||||
*/
|
||||
|
||||
int
|
||||
irc_server_recv (void *arg_server)
|
||||
irc_server_recv_cb (void *arg_server)
|
||||
{
|
||||
struct t_irc_server *server;
|
||||
|
||||
@@ -1335,12 +1335,12 @@ irc_server_recv (void *arg_server)
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_timer: timer called each second to perform some operations
|
||||
* on servers
|
||||
* irc_server_timer_cb: timer called each second to perform some operations
|
||||
* on servers
|
||||
*/
|
||||
|
||||
void
|
||||
irc_server_timer (void *empty)
|
||||
irc_server_timer_cb (void *empty)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
time_t new_time;
|
||||
@@ -1540,7 +1540,8 @@ irc_server_child_read (void *arg_server)
|
||||
num_read = read (server->child_read, buffer, sizeof (buffer));
|
||||
if (num_read > 0)
|
||||
{
|
||||
config_proxy_use = weechat_config_boolean (weechat_config_get ("proxy_use"));
|
||||
config_proxy_use = weechat_config_boolean (
|
||||
weechat_config_get_weechat ("proxy_use"));
|
||||
switch (buffer[0])
|
||||
{
|
||||
/* connection OK */
|
||||
@@ -1568,7 +1569,7 @@ irc_server_child_read (void *arg_server)
|
||||
weechat_unhook (server->hook_fd);
|
||||
server->hook_fd = weechat_hook_fd (server->sock,
|
||||
1, 0, 0,
|
||||
irc_server_recv,
|
||||
irc_server_recv_cb,
|
||||
server);
|
||||
break;
|
||||
/* adress not found */
|
||||
@@ -1630,7 +1631,7 @@ irc_server_child_read (void *arg_server)
|
||||
*/
|
||||
|
||||
void
|
||||
irc_server_convbase64_8x3_to_6x4 (char *from, char* to)
|
||||
irc_server_convbase64_8x3_to_6x4 (char *from, char *to)
|
||||
{
|
||||
unsigned char base64_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
|
||||
@@ -1700,8 +1701,10 @@ irc_server_pass_httpproxy (int sock, char *address, int port)
|
||||
char *config_proxy_username, *config_proxy_password;
|
||||
int n, m;
|
||||
|
||||
config_proxy_username = weechat_config_string (weechat_config_get ("proxy_username"));
|
||||
config_proxy_username = weechat_config_string (weechat_config_get ("proxy_password"));
|
||||
config_proxy_username = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_username"));
|
||||
config_proxy_username = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_password"));
|
||||
|
||||
if (config_proxy_username && config_proxy_username[0])
|
||||
{
|
||||
@@ -1854,8 +1857,10 @@ irc_server_pass_socks5proxy (int sock, char *address, int port)
|
||||
socks5.version = 5;
|
||||
socks5.nmethods = 1;
|
||||
|
||||
config_proxy_username = weechat_config_string (weechat_config_get ("proxy_username"));
|
||||
config_proxy_username = weechat_config_string (weechat_config_get ("proxy_password"));
|
||||
config_proxy_username = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_username"));
|
||||
config_proxy_username = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_password"));
|
||||
|
||||
if (config_proxy_username && config_proxy_username[0])
|
||||
socks5.method = 2; /* with authentication */
|
||||
@@ -1913,7 +1918,7 @@ irc_server_pass_socks5proxy (int sock, char *address, int port)
|
||||
/* authentication successful then giving address/port to connect */
|
||||
addr_len = strlen(address);
|
||||
addr_buffer_len = 4 + 1 + addr_len + 2;
|
||||
addr_buffer = (unsigned char *) malloc (addr_buffer_len * sizeof(*addr_buffer));
|
||||
addr_buffer = (unsigned char *)malloc (addr_buffer_len * sizeof(*addr_buffer));
|
||||
if (!addr_buffer)
|
||||
return 1;
|
||||
addr_buffer[0] = 5; /* version 5 */
|
||||
@@ -1985,7 +1990,8 @@ irc_server_pass_proxy (int sock, char *address, int port, char *username)
|
||||
int rc;
|
||||
char *config_proxy_type;
|
||||
|
||||
config_proxy_type = weechat_config_string (weechat_config_get ("proxy_type"));
|
||||
config_proxy_type = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_type"));
|
||||
|
||||
rc = 1;
|
||||
if (config_proxy_type)
|
||||
@@ -2015,10 +2021,14 @@ irc_server_child (struct t_irc_server *server)
|
||||
res = NULL;
|
||||
res_local = NULL;
|
||||
|
||||
config_proxy_use = weechat_config_boolean (weechat_config_get ("proxy_use"));
|
||||
config_proxy_ipv6 = weechat_config_integer (weechat_config_get ("proxy_ipv6"));
|
||||
config_proxy_port = weechat_config_integer (weechat_config_get ("proxy_port"));
|
||||
config_proxy_address = weechat_config_string (weechat_config_get ("proxy_address"));
|
||||
config_proxy_use = weechat_config_boolean (
|
||||
weechat_config_get_weechat ("proxy_use"));
|
||||
config_proxy_ipv6 = weechat_config_integer (
|
||||
weechat_config_get_weechat ("proxy_ipv6"));
|
||||
config_proxy_port = weechat_config_integer (
|
||||
weechat_config_get_weechat ("proxy_port"));
|
||||
config_proxy_address = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_address"));
|
||||
|
||||
if (config_proxy_use)
|
||||
{
|
||||
@@ -2155,11 +2165,16 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
|
||||
char *config_proxy_type, *config_proxy_address;
|
||||
int config_proxy_use, config_proxy_ipv6, config_proxy_port;
|
||||
|
||||
config_proxy_use = weechat_config_boolean (weechat_config_get ("proxy_use"));
|
||||
config_proxy_ipv6 = weechat_config_boolean (weechat_config_get ("proxy_ipv6"));
|
||||
config_proxy_type = weechat_config_string (weechat_config_get ("proxy_type"));
|
||||
config_proxy_address = weechat_config_string (weechat_config_get ("proxy_address"));
|
||||
config_proxy_port = weechat_config_integer (weechat_config_get ("proxy_port"));
|
||||
config_proxy_use = weechat_config_boolean (
|
||||
weechat_config_get_weechat ("proxy_use"));
|
||||
config_proxy_ipv6 = weechat_config_boolean (
|
||||
weechat_config_get_weechat ("proxy_ipv6"));
|
||||
config_proxy_type = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_type"));
|
||||
config_proxy_address = weechat_config_string (
|
||||
weechat_config_get_weechat ("proxy_address"));
|
||||
config_proxy_port = weechat_config_integer (
|
||||
weechat_config_get_weechat ("proxy_port"));
|
||||
|
||||
if (!server->buffer)
|
||||
{
|
||||
@@ -2167,6 +2182,7 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
|
||||
if (!server->buffer)
|
||||
return 0;
|
||||
weechat_buffer_set (server->buffer, "display", "1");
|
||||
weechat_hook_signal_send ("logger_backlog", server->buffer);
|
||||
}
|
||||
|
||||
#ifndef HAVE_GNUTLS
|
||||
@@ -2477,17 +2493,17 @@ irc_server_autojoin_channels (struct t_irc_server *server)
|
||||
*/
|
||||
|
||||
struct t_irc_server *
|
||||
irc_server_search (char *servername)
|
||||
irc_server_search (char *server_name)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
|
||||
if (!servername)
|
||||
if (!server_name)
|
||||
return NULL;
|
||||
|
||||
for (ptr_server = irc_servers; ptr_server;
|
||||
ptr_server = ptr_server->next_server)
|
||||
{
|
||||
if (strcmp (ptr_server->name, servername) == 0)
|
||||
if (strcmp (ptr_server->name, server_name) == 0)
|
||||
return ptr_server;
|
||||
}
|
||||
return NULL;
|
||||
@@ -2537,27 +2553,6 @@ irc_server_get_number_buffer (struct t_irc_server *server,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_name_already_exists: return 1 if server name already exists
|
||||
* otherwise return 0
|
||||
*/
|
||||
|
||||
int
|
||||
irc_server_name_already_exists (char *name)
|
||||
{
|
||||
struct t_irc_server *ptr_server;
|
||||
|
||||
if (!name)
|
||||
return 0;
|
||||
|
||||
for (ptr_server = irc_servers; ptr_server; ptr_server = ptr_server->next_server)
|
||||
{
|
||||
if (strcmp (ptr_server->name, name) == 0)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_get_channel_count: return number of channels for server
|
||||
*/
|
||||
|
||||
@@ -132,54 +132,70 @@ 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 *);
|
||||
extern int irc_server_init_with_url (struct t_irc_server *, char *);
|
||||
extern void irc_server_init_with_config_options (struct t_irc_server *, void *,
|
||||
int);
|
||||
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_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 *);
|
||||
extern void irc_server_free_data (struct t_irc_server *);
|
||||
extern void irc_server_free (struct t_irc_server *);
|
||||
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 *, int, int, int, int, char *,
|
||||
int, int, int, char *, char *,
|
||||
char *, char *, char *, char *,
|
||||
char *, char *, int, char *, int,
|
||||
char *);
|
||||
extern struct t_irc_server *irc_server_duplicate (struct t_irc_server *, char *);
|
||||
extern int irc_server_rename (struct t_irc_server *, char *);
|
||||
extern int irc_server_send (struct t_irc_server *, char *, int);
|
||||
extern void irc_server_outqueue_send (struct t_irc_server *);
|
||||
extern void irc_server_sendf (struct t_irc_server *, char *, ...);
|
||||
extern void irc_server_parse_message (char *, char **, char **, char **);
|
||||
extern int irc_server_recv (void *);
|
||||
extern void irc_server_timer (void *);
|
||||
extern void irc_server_timer_check_away (void *);
|
||||
extern int irc_server_child_read (void *);
|
||||
extern void irc_server_convbase64_8x3_to_6x4 (char *, char*);
|
||||
extern void irc_server_base64encode (char *, char *);
|
||||
extern int irc_server_pass_httpproxy (int, char*, int);
|
||||
extern int irc_server_resolve (char *, char *, int *);
|
||||
extern int irc_server_pass_socks4proxy (int, char*, int, char*);
|
||||
extern int irc_server_pass_socks5proxy (int, char*, int);
|
||||
extern int irc_server_pass_proxy (int, char*, int, char*);
|
||||
extern int irc_server_connect (struct t_irc_server *, int);
|
||||
extern void irc_server_reconnect (struct t_irc_server *);
|
||||
extern void irc_server_auto_connect (int, int);
|
||||
extern void irc_server_disconnect (struct t_irc_server *, int);
|
||||
extern struct t_irc_server *irc_server_new (char *name, int autoconnect,
|
||||
int autoreconnect,
|
||||
int autoreconnect_delay,
|
||||
int temp_server, char *address,
|
||||
int port, int ipv6, int ssl,
|
||||
char *password, char *nick1,
|
||||
char *nick2, char *nick3,
|
||||
char *username, char *realname,
|
||||
char *hostname, char *command,
|
||||
int command_delay, char *autojoin,
|
||||
int autorejoin,
|
||||
char *notify_levels);
|
||||
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 **host,
|
||||
char **command, char **args);
|
||||
extern int irc_server_recv_cb (void *arg_server);
|
||||
extern void irc_server_timer_cb (void *empty);
|
||||
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 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 *);
|
||||
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 *, int *, int *);
|
||||
extern int irc_server_name_already_exists (char *);
|
||||
extern int irc_server_get_channel_count (struct t_irc_server *);
|
||||
extern int irc_server_get_pv_count (struct t_irc_server *);
|
||||
extern void irc_server_get_number_buffer (struct t_irc_server *server,
|
||||
int *server_pos, int *server_total);
|
||||
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 *, char *, int);
|
||||
extern int irc_server_get_default_notify_level (struct t_irc_server *);
|
||||
extern void irc_server_set_default_notify_level (struct t_irc_server *, int);
|
||||
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_print_log ();
|
||||
|
||||
#endif /* irc-server.h */
|
||||
|
||||
+1
-13
@@ -180,19 +180,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
weechat_hook_signal ("quit", &irc_quit_cb, NULL);
|
||||
|
||||
/* hook completions */
|
||||
weechat_hook_completion ("irc_server", &irc_completion_server_cb, NULL);
|
||||
weechat_hook_completion ("irc_server_nicks",
|
||||
&irc_completion_server_nicks_cb, NULL);
|
||||
weechat_hook_completion ("irc_servers", &irc_completion_servers_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel", &irc_completion_channel_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel_nicks",
|
||||
&irc_completion_channel_nicks_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel_nicks_hosts",
|
||||
&irc_completion_channel_nicks_hosts_cb, NULL);
|
||||
weechat_hook_completion ("irc_channel_topic",
|
||||
&irc_completion_channel_topic_cb, NULL);
|
||||
weechat_hook_completion ("irc_channels", &irc_completion_channels_cb, NULL);
|
||||
weechat_hook_completion ("irc_msg_part", &irc_completion_msg_part_cb, NULL);
|
||||
irc_completion_init ();
|
||||
|
||||
//irc_server_auto_connect (1, 0);
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
ADD_LIBRARY(logger MODULE logger.c logger-buffer.c logger-buffer.h)
|
||||
ADD_LIBRARY(logger MODULE logger.c logger.h logger-buffer.c logger-buffer.h
|
||||
logger-tail.c logger-tail.h)
|
||||
SET_TARGET_PROPERTIES(logger PROPERTIES PREFIX "")
|
||||
|
||||
TARGET_LINK_LIBRARIES(logger)
|
||||
|
||||
@@ -20,6 +20,11 @@ libdir = ${weechat_libdir}/plugins
|
||||
|
||||
lib_LTLIBRARIES = logger.la
|
||||
|
||||
logger_la_SOURCES = logger.c logger-buffer.c logger-buffer.h
|
||||
logger_la_SOURCES = logger.c \
|
||||
logger.h \
|
||||
logger-buffer.c \
|
||||
logger-buffer.h \
|
||||
logger-tail.c \
|
||||
logger-tail.h
|
||||
logger_la_LDFLAGS = -module
|
||||
logger_la_LIBADD = $(LOGGER_LFLAGS)
|
||||
|
||||
@@ -39,7 +39,7 @@ struct t_logger_buffer *last_logger_buffer = NULL;
|
||||
*/
|
||||
|
||||
struct t_logger_buffer *
|
||||
logger_buffer_add (void *buffer, char *log_filename)
|
||||
logger_buffer_add (struct t_gui_buffer *buffer, char *log_filename)
|
||||
{
|
||||
struct t_logger_buffer *new_logger_buffer;
|
||||
|
||||
@@ -52,6 +52,7 @@ logger_buffer_add (void *buffer, char *log_filename)
|
||||
new_logger_buffer->buffer = buffer;
|
||||
new_logger_buffer->log_filename = strdup (log_filename);
|
||||
new_logger_buffer->log_file = NULL;
|
||||
new_logger_buffer->log_enabled = 1;
|
||||
|
||||
new_logger_buffer->prev_buffer = last_logger_buffer;
|
||||
new_logger_buffer->next_buffer = NULL;
|
||||
@@ -70,14 +71,14 @@ logger_buffer_add (void *buffer, char *log_filename)
|
||||
*/
|
||||
|
||||
struct t_logger_buffer *
|
||||
logger_buffer_search (void *buffer)
|
||||
logger_buffer_search (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
|
||||
for (ptr_logger_buffer = logger_buffers; ptr_logger_buffer;
|
||||
ptr_logger_buffer = ptr_logger_buffer->next_buffer)
|
||||
{
|
||||
if (ptr_logger_buffer->buffer == (struct t_gui_buffer *)buffer)
|
||||
if (ptr_logger_buffer->buffer == buffer)
|
||||
return ptr_logger_buffer;
|
||||
}
|
||||
|
||||
@@ -116,25 +117,11 @@ logger_buffer_free (struct t_logger_buffer *logger_buffer)
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_buffer_remove: remove a buffer from list
|
||||
* logger_buffer_free_all: remove all buffers from list
|
||||
*/
|
||||
|
||||
void
|
||||
logger_buffer_remove (void *buffer)
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
|
||||
ptr_logger_buffer = logger_buffer_search (buffer);
|
||||
if (ptr_logger_buffer)
|
||||
logger_buffer_free (ptr_logger_buffer);
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_buffer_remove_all: remove all buffers from list
|
||||
*/
|
||||
|
||||
void
|
||||
logger_buffer_remove_all ()
|
||||
logger_buffer_free_all ()
|
||||
{
|
||||
while (logger_buffers)
|
||||
{
|
||||
|
||||
@@ -25,6 +25,7 @@ struct t_logger_buffer
|
||||
struct t_gui_buffer *buffer; /* pointer to buffer */
|
||||
char *log_filename; /* log filename */
|
||||
FILE *log_file; /* log file */
|
||||
int log_enabled; /* log enabled ? */
|
||||
struct t_logger_buffer *prev_buffer; /* link to previous buffer */
|
||||
struct t_logger_buffer *next_buffer; /* link to next buffer */
|
||||
};
|
||||
@@ -32,9 +33,10 @@ struct t_logger_buffer
|
||||
extern struct t_logger_buffer *logger_buffers;
|
||||
extern struct t_logger_buffer *last_logger_buffer;
|
||||
|
||||
extern struct t_logger_buffer *logger_buffer_add (void *, char *);
|
||||
extern struct t_logger_buffer *logger_buffer_search (void *);
|
||||
extern void logger_buffer_remove (void *);
|
||||
extern void logger_buffer_remove_all ();
|
||||
extern struct t_logger_buffer *logger_buffer_add (struct t_gui_buffer *,
|
||||
char *log_filename);
|
||||
extern struct t_logger_buffer *logger_buffer_search (struct t_gui_buffer *buffer);
|
||||
extern void logger_buffer_free (struct t_logger_buffer *logger_buffer);
|
||||
extern void logger_buffer_free_all ();
|
||||
|
||||
#endif /* logger-buffer.h */
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
/*
|
||||
* Copyright (c) 2003-2007 by FlashCode <flashcode@flashtux.org>
|
||||
* See README for License detail, AUTHORS for developers list.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* logger-tail.c: return last lines of a file */
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "logger.h"
|
||||
#include "logger-tail.h"
|
||||
|
||||
|
||||
#define LOGGER_TAIL_BUFSIZE 4096
|
||||
|
||||
|
||||
/*
|
||||
* logger_tail_last_eol: find last eol in a string
|
||||
*/
|
||||
|
||||
char *
|
||||
logger_tail_last_eol (char *string_start, char *string_ptr)
|
||||
{
|
||||
while (string_ptr >= string_start)
|
||||
{
|
||||
if ((string_ptr[0] == '\n') || (string_ptr[0] == '\r'))
|
||||
return string_ptr;
|
||||
string_ptr--;
|
||||
}
|
||||
|
||||
/* no end-of-line found in string */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_tail_file: return last lines of a file
|
||||
*/
|
||||
|
||||
struct t_logger_line *
|
||||
logger_tail_file (char *filename, int n_lines)
|
||||
{
|
||||
int fd;
|
||||
off_t file_length, file_pos;
|
||||
size_t to_read;
|
||||
ssize_t bytes_read;
|
||||
char buf[LOGGER_TAIL_BUFSIZE + 1];
|
||||
char *ptr_buf, *pos_eol, *part_of_line, *new_part_of_line;
|
||||
struct t_logger_line *ptr_line, *new_line;
|
||||
|
||||
/* open file */
|
||||
fd = open (filename, O_RDONLY);
|
||||
if (fd == -1)
|
||||
return NULL;
|
||||
|
||||
/* seek to the end of file */
|
||||
file_length = lseek (fd, (off_t)0, SEEK_END);
|
||||
if (file_length <= 0)
|
||||
{
|
||||
close (fd);
|
||||
return NULL;
|
||||
}
|
||||
to_read = file_length;
|
||||
file_pos = file_length - LOGGER_TAIL_BUFSIZE;
|
||||
if (file_pos < 0)
|
||||
file_pos = 0;
|
||||
else
|
||||
to_read = LOGGER_TAIL_BUFSIZE;
|
||||
lseek (fd, file_pos, SEEK_SET);
|
||||
|
||||
/* loop until we have "n_lines" lines in list */
|
||||
part_of_line = NULL;
|
||||
ptr_line = NULL;
|
||||
while (n_lines > 0)
|
||||
{
|
||||
lseek (fd, file_pos, SEEK_SET);
|
||||
bytes_read = read (fd, buf, to_read);
|
||||
if (bytes_read <= 0)
|
||||
{
|
||||
logger_tail_free (ptr_line);
|
||||
close (fd);
|
||||
return NULL;
|
||||
}
|
||||
buf[bytes_read] = '\0';
|
||||
ptr_buf = buf + bytes_read - 1;
|
||||
while (ptr_buf && (ptr_buf >= buf))
|
||||
{
|
||||
pos_eol = logger_tail_last_eol (buf, ptr_buf);
|
||||
if ((pos_eol && pos_eol[1]) || (!pos_eol && (file_pos == 0)))
|
||||
{
|
||||
/* use data and part_of_line (if existing) to build a new line */
|
||||
if (!pos_eol)
|
||||
{
|
||||
ptr_buf = NULL;
|
||||
pos_eol = buf;
|
||||
}
|
||||
else
|
||||
{
|
||||
ptr_buf = pos_eol - 1;
|
||||
pos_eol[0] = '\0';
|
||||
pos_eol++;
|
||||
}
|
||||
new_line = (struct t_logger_line *)malloc (sizeof (struct t_logger_line));
|
||||
if (!new_line)
|
||||
{
|
||||
logger_tail_free (ptr_line);
|
||||
ptr_line = NULL;
|
||||
break;
|
||||
}
|
||||
if (part_of_line)
|
||||
{
|
||||
new_line->data = (char *)malloc (strlen (pos_eol) +
|
||||
strlen (part_of_line) + 1);
|
||||
if (!new_line->data)
|
||||
{
|
||||
free (part_of_line);
|
||||
logger_tail_free (ptr_line);
|
||||
close (fd);
|
||||
return NULL;
|
||||
}
|
||||
strcpy (new_line->data, pos_eol);
|
||||
strcat (new_line->data, part_of_line);
|
||||
free (part_of_line);
|
||||
part_of_line = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
new_line->data = strdup (pos_eol);
|
||||
}
|
||||
new_line->next_line = ptr_line;
|
||||
ptr_line = new_line;
|
||||
n_lines--;
|
||||
if (n_lines <= 0)
|
||||
break;
|
||||
}
|
||||
else if (!pos_eol)
|
||||
{
|
||||
/* beginning of read buffer reached without EOL, then we
|
||||
add string to part_of_line, we'll use that later */
|
||||
if (part_of_line)
|
||||
{
|
||||
new_part_of_line = (char *)malloc (strlen (buf) +
|
||||
strlen (part_of_line) + 1);
|
||||
if (!new_part_of_line)
|
||||
{
|
||||
free (part_of_line);
|
||||
logger_tail_free (ptr_line);
|
||||
close (fd);
|
||||
return NULL;
|
||||
}
|
||||
strcpy (new_part_of_line, buf);
|
||||
strcat (new_part_of_line, part_of_line);
|
||||
free (part_of_line);
|
||||
part_of_line = new_part_of_line;
|
||||
}
|
||||
else
|
||||
{
|
||||
part_of_line = (char *)malloc (strlen (buf) + 1);
|
||||
strcpy (part_of_line, buf);
|
||||
}
|
||||
ptr_buf = NULL;
|
||||
}
|
||||
else
|
||||
ptr_buf = pos_eol - 1;
|
||||
}
|
||||
if (file_pos == 0)
|
||||
break;
|
||||
to_read = file_pos;
|
||||
file_pos -= LOGGER_TAIL_BUFSIZE;
|
||||
if (file_pos < 0)
|
||||
file_pos = 0;
|
||||
else
|
||||
to_read = LOGGER_TAIL_BUFSIZE;
|
||||
}
|
||||
|
||||
if (part_of_line)
|
||||
free (part_of_line);
|
||||
|
||||
close (fd);
|
||||
|
||||
return ptr_line;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_tail_free: free structure returned by "logger_tail_file" function
|
||||
*/
|
||||
|
||||
void
|
||||
logger_tail_free (struct t_logger_line *lines)
|
||||
{
|
||||
if (!lines)
|
||||
return;
|
||||
|
||||
while (lines->next_line)
|
||||
{
|
||||
if (lines->data)
|
||||
free (lines->data);
|
||||
lines = lines->next_line;
|
||||
}
|
||||
free (lines);
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2003-2007 by FlashCode <flashcode@flashtux.org>
|
||||
* See README for License detail, AUTHORS for developers list.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __WEECHAT_LOGGER_TAIL_H
|
||||
#define __WEECHAT_LOGGER_TAIL_H 1
|
||||
|
||||
struct t_logger_line
|
||||
{
|
||||
char *data; /* line content */
|
||||
struct t_logger_line *next_line; /* link to next line */
|
||||
};
|
||||
|
||||
extern struct t_logger_line *logger_tail_file (char *filename, int n_lines);
|
||||
extern void logger_tail_free (struct t_logger_line *lines);
|
||||
|
||||
#endif /* logger-tail.h */
|
||||
+217
-61
@@ -34,8 +34,9 @@
|
||||
#include <fcntl.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "../weechat-plugin.h"
|
||||
#include "logger.h"
|
||||
#include "logger-buffer.h"
|
||||
#include "logger-tail.h"
|
||||
|
||||
|
||||
char plugin_name[] = "logger";
|
||||
@@ -43,36 +44,74 @@ char plugin_version[] = "0.1";
|
||||
char plugin_description[] = "Logger plugin for WeeChat";
|
||||
|
||||
struct t_weechat_plugin *weechat_logger_plugin = NULL;
|
||||
#define weechat_plugin weechat_logger_plugin
|
||||
|
||||
char *logger_path = NULL;
|
||||
char *logger_time_format = NULL;
|
||||
#define LOGGER_OPTION_PATH "path"
|
||||
#define LOGGER_OPTION_TIME_FORMAT "time_format"
|
||||
#define LOGGER_OPTION_INFO_LINES "info_lines"
|
||||
#define LOGGER_OPTION_BACKLOG "backlog"
|
||||
|
||||
char *logger_option_path = NULL;
|
||||
char *logger_option_time_format = NULL;
|
||||
int logger_option_info_lines;
|
||||
int logger_option_backlog;
|
||||
|
||||
|
||||
/*
|
||||
* logger_config_read: read config options for logger plugin
|
||||
* return: 1 if ok
|
||||
* 0 if error
|
||||
*/
|
||||
|
||||
void
|
||||
int
|
||||
logger_config_read ()
|
||||
{
|
||||
if (logger_path)
|
||||
free (logger_path);
|
||||
logger_path = weechat_plugin_config_get ("path");
|
||||
if (!logger_path)
|
||||
long number;
|
||||
char *string, *error;
|
||||
|
||||
logger_option_path = weechat_config_get_plugin (LOGGER_OPTION_PATH);
|
||||
if (!logger_option_path)
|
||||
{
|
||||
weechat_plugin_config_set ("path", "%h/logs/");
|
||||
logger_path = weechat_plugin_config_get ("path");
|
||||
weechat_config_set_plugin (LOGGER_OPTION_PATH, "%h/logs/");
|
||||
logger_option_path = weechat_config_get_plugin ("path");
|
||||
}
|
||||
|
||||
if (logger_time_format)
|
||||
free (logger_time_format);
|
||||
logger_time_format = weechat_plugin_config_get ("time_format");
|
||||
if (!logger_time_format)
|
||||
|
||||
logger_option_time_format = weechat_config_get_plugin (LOGGER_OPTION_TIME_FORMAT);
|
||||
if (!logger_option_time_format)
|
||||
{
|
||||
weechat_plugin_config_set ("time_format", "%Y %b %d %H:%M:%S");
|
||||
logger_time_format = weechat_plugin_config_get ("time_format");
|
||||
weechat_config_set_plugin (LOGGER_OPTION_TIME_FORMAT,
|
||||
"%Y %b %d %H:%M:%S");
|
||||
logger_option_time_format = weechat_config_get_plugin (LOGGER_OPTION_TIME_FORMAT);
|
||||
}
|
||||
|
||||
string = weechat_config_get_plugin (LOGGER_OPTION_INFO_LINES);
|
||||
if (!string)
|
||||
{
|
||||
weechat_config_set_plugin (LOGGER_OPTION_INFO_LINES, "off");
|
||||
string = weechat_config_get_plugin (LOGGER_OPTION_INFO_LINES);
|
||||
}
|
||||
if (string && (weechat_config_string_to_boolean (string) > 0))
|
||||
logger_option_info_lines = 1;
|
||||
else
|
||||
logger_option_info_lines = 0;
|
||||
|
||||
string = weechat_config_get_plugin (LOGGER_OPTION_BACKLOG);
|
||||
if (!string)
|
||||
{
|
||||
weechat_config_set_plugin (LOGGER_OPTION_BACKLOG, "20");
|
||||
string = weechat_config_get_plugin (LOGGER_OPTION_BACKLOG);
|
||||
}
|
||||
logger_option_backlog = 20;
|
||||
if (string)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (string, &error, 10);
|
||||
if (error && (error[0] == '\0'))
|
||||
logger_option_backlog = number;
|
||||
}
|
||||
if (logger_option_path && logger_option_time_format && logger_option_backlog)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -88,7 +127,7 @@ logger_create_directory ()
|
||||
|
||||
rc = 1;
|
||||
|
||||
dir1 = weechat_string_replace (logger_path, "~", getenv ("HOME"));
|
||||
dir1 = weechat_string_replace (logger_option_path, "~", getenv ("HOME"));
|
||||
if (dir1)
|
||||
{
|
||||
weechat_dir = weechat_info_get ("weechat_dir");
|
||||
@@ -99,7 +138,8 @@ logger_create_directory ()
|
||||
{
|
||||
if (mkdir (dir2, 0755) < 0)
|
||||
{
|
||||
if (errno != EEXIST) rc = 0;
|
||||
if (errno != EEXIST)
|
||||
rc = 0;
|
||||
}
|
||||
else
|
||||
chmod (dir2, 0700);
|
||||
@@ -124,7 +164,7 @@ logger_create_directory ()
|
||||
*/
|
||||
|
||||
char *
|
||||
logger_get_filename (void *buffer)
|
||||
logger_get_filename (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_plugin_infolist *ptr_infolist;
|
||||
char *res;
|
||||
@@ -136,7 +176,8 @@ logger_get_filename (void *buffer)
|
||||
|
||||
dir_separator = weechat_info_get ("dir_separator");
|
||||
weechat_dir = weechat_info_get ("weechat_dir");
|
||||
log_path = weechat_string_replace (logger_path, "~", getenv ("HOME"));
|
||||
log_path = weechat_string_replace (logger_option_path, "~",
|
||||
getenv ("HOME"));
|
||||
log_path2 = weechat_string_replace (log_path, "%h", weechat_dir);
|
||||
|
||||
if (dir_separator && weechat_dir && log_path && log_path2)
|
||||
@@ -230,22 +271,25 @@ logger_write_line (struct t_logger_buffer *logger_buffer, char *format, ...)
|
||||
free (charset);
|
||||
return;
|
||||
}
|
||||
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
logger_time_format, date_tmp);
|
||||
snprintf (buf, sizeof (buf) - 1,
|
||||
_("**** Beginning of log %s ****"),
|
||||
buf_time);
|
||||
message = (charset) ?
|
||||
weechat_iconv_from_internal (charset, buf) : NULL;
|
||||
fprintf (logger_buffer->log_file,
|
||||
"%s\n", (message) ? message : buf);
|
||||
if (message)
|
||||
free (message);
|
||||
|
||||
if (logger_option_info_lines)
|
||||
{
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
logger_option_time_format, date_tmp);
|
||||
snprintf (buf, sizeof (buf) - 1,
|
||||
_("%s\t**** Beginning of log ****"),
|
||||
buf_time);
|
||||
message = (charset) ?
|
||||
weechat_iconv_from_internal (charset, buf) : NULL;
|
||||
fprintf (logger_buffer->log_file,
|
||||
"%s\n", (message) ? message : buf);
|
||||
if (message)
|
||||
free (message);
|
||||
}
|
||||
}
|
||||
|
||||
va_start (argptr, format);
|
||||
@@ -270,7 +314,7 @@ logger_write_line (struct t_logger_buffer *logger_buffer, char *format, ...)
|
||||
*/
|
||||
|
||||
void
|
||||
logger_start_buffer (void *buffer)
|
||||
logger_start_buffer (struct t_gui_buffer *buffer)
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
char *log_filename;
|
||||
@@ -333,18 +377,21 @@ logger_end (struct t_logger_buffer *logger_buffer)
|
||||
|
||||
if (logger_buffer->log_file)
|
||||
{
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
logger_time_format, date_tmp);
|
||||
logger_write_line (logger_buffer,
|
||||
_("**** End of log %s ****"),
|
||||
buf_time);
|
||||
if (logger_option_info_lines)
|
||||
{
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
logger_option_time_format, date_tmp);
|
||||
logger_write_line (logger_buffer,
|
||||
_("%s\t**** End of log ****"),
|
||||
buf_time);
|
||||
}
|
||||
fclose (logger_buffer->log_file);
|
||||
logger_buffer->log_file = NULL;
|
||||
logger_buffer_remove (logger_buffer);
|
||||
logger_buffer_free (logger_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,7 +403,7 @@ void
|
||||
logger_end_all ()
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
|
||||
|
||||
for (ptr_logger_buffer = logger_buffers; ptr_logger_buffer;
|
||||
ptr_logger_buffer = ptr_logger_buffer->next_buffer)
|
||||
{
|
||||
@@ -365,7 +412,7 @@ logger_end_all ()
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_buffer_open_signal_cb: callback for buffer_open signal
|
||||
* logger_buffer_open_signal_cb: callback for "buffer_open" signal
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -382,7 +429,7 @@ logger_buffer_open_signal_cb (void *data, char *signal, void *pointer)
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_buffer_close_signal_cb: callback for buffer_close signal
|
||||
* logger_buffer_close_signal_cb: callback for "buffer_close" signal
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -398,13 +445,96 @@ logger_buffer_close_signal_cb (void *data, char *signal, void *pointer)
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_backlog: display backlog for a buffer (by reading end of log file)
|
||||
*/
|
||||
|
||||
void
|
||||
logger_backlog (struct t_gui_buffer *buffer, char *filename, int lines)
|
||||
{
|
||||
struct t_logger_line *last_lines, *ptr_lines;
|
||||
char *pos_message, *error;
|
||||
time_t datetime;
|
||||
struct tm tm_line;
|
||||
int num_lines;
|
||||
|
||||
num_lines = 0;
|
||||
last_lines = logger_tail_file (filename, lines);
|
||||
ptr_lines = last_lines;
|
||||
while (ptr_lines)
|
||||
{
|
||||
datetime = 0;
|
||||
pos_message = strchr (ptr_lines->data, '\t');
|
||||
if (pos_message)
|
||||
{
|
||||
pos_message[0] = '\0';
|
||||
error = strptime (ptr_lines->data, logger_option_time_format,
|
||||
&tm_line);
|
||||
if (error && !error[0])
|
||||
datetime = mktime (&tm_line);
|
||||
pos_message[0] = '\t';
|
||||
}
|
||||
if (pos_message)
|
||||
{
|
||||
if (datetime != 0)
|
||||
weechat_printf_date (buffer, datetime, pos_message + 1);
|
||||
else
|
||||
weechat_printf (buffer, ptr_lines->data);
|
||||
}
|
||||
else
|
||||
{
|
||||
weechat_printf (buffer, ptr_lines->data);
|
||||
}
|
||||
num_lines++;
|
||||
ptr_lines = ptr_lines->next_line;
|
||||
}
|
||||
if (last_lines)
|
||||
logger_tail_free (last_lines);
|
||||
if (num_lines > 0)
|
||||
weechat_printf (buffer,
|
||||
_("===\t========== End of backlog (%d lines) =========="),
|
||||
num_lines);
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_backlog_signal_cb: callback for "logger_backlog" signal
|
||||
*/
|
||||
|
||||
int
|
||||
logger_backlog_signal_cb (void *data, char *signal, void *pointer)
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) signal;
|
||||
|
||||
if (logger_option_backlog >= 0)
|
||||
{
|
||||
ptr_logger_buffer = logger_buffer_search (pointer);
|
||||
if (ptr_logger_buffer && ptr_logger_buffer->log_filename
|
||||
&& ptr_logger_buffer->log_enabled)
|
||||
{
|
||||
ptr_logger_buffer->log_enabled = 0;
|
||||
|
||||
logger_backlog (pointer,
|
||||
ptr_logger_buffer->log_filename,
|
||||
logger_option_backlog);
|
||||
|
||||
ptr_logger_buffer->log_enabled = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_print_cb: callback for print hook
|
||||
*/
|
||||
|
||||
int
|
||||
logger_print_cb (void *data, void *buffer, time_t date, char *prefix,
|
||||
char *message)
|
||||
logger_print_cb (void *data, struct t_gui_buffer *buffer, time_t date,
|
||||
char *prefix, char *message)
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
struct tm *date_tmp;
|
||||
@@ -414,26 +544,43 @@ logger_print_cb (void *data, void *buffer, time_t date, char *prefix,
|
||||
(void) data;
|
||||
|
||||
ptr_logger_buffer = logger_buffer_search (buffer);
|
||||
if (ptr_logger_buffer && ptr_logger_buffer->log_filename)
|
||||
if (ptr_logger_buffer && ptr_logger_buffer->log_filename
|
||||
&& ptr_logger_buffer->log_enabled)
|
||||
{
|
||||
date_tmp = localtime (&date);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
logger_time_format, date_tmp);
|
||||
logger_option_time_format, date_tmp);
|
||||
|
||||
logger_write_line (ptr_logger_buffer,
|
||||
"%s%s%s%s%s",
|
||||
"%s\t%s\t%s",
|
||||
buf_time,
|
||||
(buf_time[0]) ? " " : "",
|
||||
(prefix) ? prefix : "",
|
||||
(prefix && prefix[0]) ? " " : "",
|
||||
message);
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_config_cb: callback for config hook
|
||||
*/
|
||||
|
||||
int
|
||||
logger_config_cb (void *data, char *type, char *option, char *value)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) type;
|
||||
(void) option;
|
||||
(void) value;
|
||||
|
||||
logger_config_read ();
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* weechat_plugin_init: initialize logger plugin
|
||||
*/
|
||||
@@ -443,8 +590,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
{
|
||||
weechat_plugin = plugin;
|
||||
|
||||
logger_config_read ();
|
||||
if (!logger_path || !logger_time_format)
|
||||
if (!logger_config_read ())
|
||||
return WEECHAT_RC_ERROR;
|
||||
if (!logger_create_directory ())
|
||||
return WEECHAT_RC_ERROR;
|
||||
@@ -453,9 +599,19 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
|
||||
|
||||
weechat_hook_signal ("buffer_open", &logger_buffer_open_signal_cb, NULL);
|
||||
weechat_hook_signal ("buffer_close", &logger_buffer_close_signal_cb, NULL);
|
||||
weechat_hook_signal ("logger_backlog", &logger_backlog_signal_cb, NULL);
|
||||
|
||||
weechat_hook_print (NULL, NULL, 1, &logger_print_cb, NULL);
|
||||
|
||||
weechat_hook_config ("plugin", "logger." LOGGER_OPTION_PATH,
|
||||
&logger_config_cb, NULL);
|
||||
weechat_hook_config ("plugin", "logger." LOGGER_OPTION_TIME_FORMAT,
|
||||
&logger_config_cb, NULL);
|
||||
weechat_hook_config ("plugin", "logger." LOGGER_OPTION_INFO_LINES,
|
||||
&logger_config_cb, NULL);
|
||||
weechat_hook_config ("plugin", "logger." LOGGER_OPTION_BACKLOG,
|
||||
&logger_config_cb, NULL);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2003-2007 by FlashCode <flashcode@flashtux.org>
|
||||
* See README for License detail, AUTHORS for developers list.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __WEECHAT_LOGGER_H
|
||||
#define __WEECHAT_LOGGER_H 1
|
||||
|
||||
#include "../weechat-plugin.h"
|
||||
|
||||
#define weechat_plugin weechat_logger_plugin
|
||||
|
||||
extern struct t_weechat_plugin *weechat_logger_plugin;
|
||||
|
||||
#endif /* logger.h */
|
||||
+48
-1422
File diff suppressed because it is too large
Load Diff
+33
-176
@@ -21,193 +21,50 @@
|
||||
#define __WEECHAT_PLUGIN_API_H 1
|
||||
|
||||
/* strings */
|
||||
extern void plugin_api_charset_set (struct t_weechat_plugin *, char *);
|
||||
extern char *plugin_api_iconv_to_internal (struct t_weechat_plugin *, char *,
|
||||
char *);
|
||||
extern char *plugin_api_iconv_from_internal (struct t_weechat_plugin *, char *,
|
||||
char *);
|
||||
extern char *plugin_api_gettext (struct t_weechat_plugin *, char *);
|
||||
extern char *plugin_api_ngettext (struct t_weechat_plugin *, char *, char *,
|
||||
int);
|
||||
extern int plugin_api_strcasecmp (struct t_weechat_plugin *,char *, char *);
|
||||
extern int plugin_api_strncasecmp (struct t_weechat_plugin *,char *, char *,
|
||||
int);
|
||||
extern char *plugin_api_strcasestr (struct t_weechat_plugin *,char *, char *);
|
||||
extern char *plugin_api_string_replace (struct t_weechat_plugin *,char *,
|
||||
char *, char *);
|
||||
extern char **plugin_api_string_explode (struct t_weechat_plugin *, char *,
|
||||
char *, int, int, int *);
|
||||
extern void plugin_api_string_free_exploded (struct t_weechat_plugin *,
|
||||
char **);
|
||||
extern char **plugin_api_string_split_command (struct t_weechat_plugin *,
|
||||
char *, char);
|
||||
extern void plugin_api_string_free_splitted_command (struct t_weechat_plugin *,
|
||||
char **);
|
||||
|
||||
/* UTF-8 strings */
|
||||
extern int plugin_api_utf8_has_8bits (struct t_weechat_plugin *, char *);
|
||||
extern int plugin_api_utf8_is_valid (struct t_weechat_plugin *, char *, char **);
|
||||
extern void plugin_api_utf8_normalize (struct t_weechat_plugin *, char *, char);
|
||||
extern char *plugin_api_utf8_prev_char (struct t_weechat_plugin *, char *, char *);
|
||||
extern char *plugin_api_utf8_next_char (struct t_weechat_plugin *, char *);
|
||||
extern int plugin_api_utf8_char_size (struct t_weechat_plugin *, char *);
|
||||
extern int plugin_api_utf8_strlen (struct t_weechat_plugin *, char *);
|
||||
extern int plugin_api_utf8_strnlen (struct t_weechat_plugin *, char *, int);
|
||||
extern int plugin_api_utf8_strlen_screen (struct t_weechat_plugin *, char *);
|
||||
extern int plugin_api_utf8_charcasecmp (struct t_weechat_plugin *, char *, char *);
|
||||
extern int plugin_api_utf8_char_size_screen (struct t_weechat_plugin *, char *);
|
||||
extern char *plugin_api_utf8_add_offset (struct t_weechat_plugin *, char *, int);
|
||||
extern int plugin_api_utf8_real_pos (struct t_weechat_plugin *, char *, int);
|
||||
extern int plugin_api_utf8_pos (struct t_weechat_plugin *, char *, int);
|
||||
extern void plugin_api_charset_set (struct t_weechat_plugin *plugin,
|
||||
char *charset);
|
||||
extern char *plugin_api_gettext (char *string);
|
||||
extern char *plugin_api_ngettext (char *single, char *plural, int count);
|
||||
|
||||
/* directories */
|
||||
extern int plugin_api_mkdir_home (struct t_weechat_plugin *, char *, int);
|
||||
extern int plugin_api_mkdir (struct t_weechat_plugin *, char *, int);
|
||||
extern void plugin_api_exec_on_files (struct t_weechat_plugin *, char *,
|
||||
int (*)(char *));
|
||||
|
||||
/* util */
|
||||
extern long plugin_api_timeval_diff (struct t_weechat_plugin *, void *, void *);;
|
||||
|
||||
/* lists */
|
||||
extern struct t_weelist *plugin_api_list_new( struct t_weechat_plugin *);
|
||||
extern char *plugin_api_list_add (struct t_weechat_plugin *, void *, char *,
|
||||
char *);
|
||||
extern struct t_weelist_item *plugin_api_list_search (struct t_weechat_plugin *,
|
||||
void *, char *);
|
||||
extern struct t_weelist_item *plugin_api_list_casesearch (struct t_weechat_plugin *,
|
||||
void *, char *);
|
||||
extern struct t_weelist_item *plugin_api_list_get (struct t_weechat_plugin *,
|
||||
void *, int);
|
||||
extern struct t_weelist_item *plugin_api_list_next (struct t_weechat_plugin *,
|
||||
void *);
|
||||
extern struct t_weelist_item *plugin_api_list_prev (struct t_weechat_plugin *,
|
||||
void *);
|
||||
extern char *plugin_api_list_string (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_list_size (struct t_weechat_plugin *, void *);
|
||||
extern void plugin_api_list_remove (struct t_weechat_plugin *, void *, void *);
|
||||
extern void plugin_api_list_remove_all (struct t_weechat_plugin *, void *);
|
||||
extern void plugin_api_list_free (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_mkdir_home (char *directory, int mode);
|
||||
extern int plugin_api_mkdir (char *directory, int mode);
|
||||
|
||||
/* config */
|
||||
extern struct t_config_file *plugin_api_config_new (struct t_weechat_plugin *,
|
||||
char *);
|
||||
extern struct t_config_section *plugin_api_config_new_section (struct t_weechat_plugin *,
|
||||
void *, char *,
|
||||
void (*)(void *, char *, char *),
|
||||
void (*)(void *, char *),
|
||||
void (*)(void *, char *));
|
||||
extern struct t_config_section *plugin_api_config_search_section (struct t_weechat_plugin *,
|
||||
void *, char *);
|
||||
extern struct t_config_option *plugin_api_config_new_option (struct t_weechat_plugin *,
|
||||
void *, char *,
|
||||
char *, char *,
|
||||
char *, int, int,
|
||||
char *,
|
||||
void (*)());
|
||||
extern struct t_config_option *plugin_api_config_search_option (struct t_weechat_plugin *,
|
||||
void *, void *,
|
||||
char *);
|
||||
extern int plugin_api_config_option_set (struct t_weechat_plugin *, void *,
|
||||
char *);
|
||||
extern char plugin_api_config_string_to_boolean (struct t_weechat_plugin *,
|
||||
char *);
|
||||
extern char plugin_api_config_boolean (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_config_integer (struct t_weechat_plugin *, void *);
|
||||
extern char *plugin_api_config_string (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_config_color (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_config_read (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_config_reload (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_config_write (struct t_weechat_plugin *, void *);
|
||||
extern void plugin_api_config_write_line (struct t_weechat_plugin *, void *,
|
||||
char *, char *, ...);
|
||||
extern void plugin_api_config_free (struct t_weechat_plugin *, void *);
|
||||
extern struct t_config_option *plugin_api_config_get (struct t_weechat_plugin *,
|
||||
char *);
|
||||
extern char *plugin_api_plugin_config_get (struct t_weechat_plugin *, char *);
|
||||
extern int plugin_api_plugin_config_set (struct t_weechat_plugin *, char *,
|
||||
char *);
|
||||
extern struct t_config_option *plugin_api_config_get_weechat (char *option_name);
|
||||
extern char *plugin_api_config_get_plugin (struct t_weechat_plugin *plugin,
|
||||
char *option_name);
|
||||
extern int plugin_api_config_set_plugin (struct t_weechat_plugin *plugin,
|
||||
char *option_name, char *value);
|
||||
|
||||
/* display */
|
||||
extern char *plugin_api_prefix (struct t_weechat_plugin *, char *);
|
||||
extern char *plugin_api_color (struct t_weechat_plugin *, char *);
|
||||
extern void plugin_api_printf (struct t_weechat_plugin *, void *,
|
||||
char *, ...);
|
||||
extern void plugin_api_printf_date (struct t_weechat_plugin *, void *,
|
||||
time_t, char *, ...);
|
||||
extern void plugin_api_log_printf (struct t_weechat_plugin *, char *, ...);
|
||||
extern void plugin_api_infobar_printf (struct t_weechat_plugin *, int, char *,
|
||||
char *, ...);
|
||||
extern void plugin_api_infobar_remove (struct t_weechat_plugin *, int);
|
||||
|
||||
/* hooks */
|
||||
extern struct t_hook *plugin_api_hook_command (struct t_weechat_plugin *,
|
||||
char *, char *, char *, char *,
|
||||
char *,
|
||||
int (*)(void *, void *, int, char **, char **),
|
||||
void *);
|
||||
extern struct t_hook *plugin_api_hook_timer (struct t_weechat_plugin *,
|
||||
long, int, int,
|
||||
int (*)(void *), void *);
|
||||
extern struct t_hook *plugin_api_hook_fd (struct t_weechat_plugin *,
|
||||
int, int, int, int,
|
||||
int (*)(void *), void *);
|
||||
extern struct t_hook *plugin_api_hook_print (struct t_weechat_plugin *,
|
||||
void *, char *, int,
|
||||
int (*)(void *, void *, time_t, char *, char *),
|
||||
void *);
|
||||
extern struct t_hook *plugin_api_hook_signal (struct t_weechat_plugin *, char *,
|
||||
int (*)(void *, char *, void *),
|
||||
void *);
|
||||
extern void plugin_api_hook_signal_send (struct t_weechat_plugin *, char *,
|
||||
void *);
|
||||
extern struct t_hook *plugin_api_hook_config (struct t_weechat_plugin *,
|
||||
char *, char *,
|
||||
int (*)(void *, char *, char *, char *),
|
||||
void *);
|
||||
extern struct t_hook *plugin_api_hook_completion (struct t_weechat_plugin *,
|
||||
char *,
|
||||
int (*)(void *, char *, void *, void *),
|
||||
void *);
|
||||
extern void plugin_api_unhook (struct t_weechat_plugin *, void *);
|
||||
extern void plugin_api_unhook_all (struct t_weechat_plugin *);
|
||||
|
||||
/* buffers */
|
||||
extern struct t_gui_buffer *plugin_api_buffer_new (struct t_weechat_plugin *,
|
||||
char *, char *,
|
||||
void (*)(struct t_gui_buffer *, char *));
|
||||
extern struct t_gui_buffer *plugin_api_buffer_search (struct t_weechat_plugin *,
|
||||
char *, char *);
|
||||
extern void plugin_api_buffer_close (struct t_weechat_plugin *, void *);
|
||||
extern void *plugin_api_buffer_get (struct t_weechat_plugin *, void *, char *);
|
||||
extern void plugin_api_buffer_set (struct t_weechat_plugin *, void *, char *,
|
||||
char *);
|
||||
extern void plugin_api_buffer_nick_add (struct t_weechat_plugin *, void *,
|
||||
char *, int, char *, char, char *);
|
||||
extern void plugin_api_buffer_nick_remove (struct t_weechat_plugin *, char *);
|
||||
extern char *plugin_api_prefix (char *prefix);
|
||||
extern char *plugin_api_color (char *color_name);
|
||||
extern void plugin_api_infobar_printf (int delay, char *color_name,
|
||||
char *format, ...);
|
||||
extern void plugin_api_infobar_remove (int how_many);
|
||||
|
||||
/* command */
|
||||
extern void plugin_api_command (struct t_weechat_plugin *, void *, char *);
|
||||
extern void plugin_api_command (struct t_weechat_plugin *plugin,
|
||||
struct t_gui_buffer *buffer, char *command);
|
||||
|
||||
/* infos */
|
||||
extern char *plugin_api_info_get (struct t_weechat_plugin *, char *);
|
||||
extern char *plugin_api_info_get (struct t_weechat_plugin *plugin, char *info);
|
||||
|
||||
/* infolists */
|
||||
extern struct t_plugin_infolist *plugin_api_infolist_get (struct t_weechat_plugin *,
|
||||
char *, void *);
|
||||
extern int plugin_api_infolist_next (struct t_weechat_plugin *,
|
||||
void *);
|
||||
extern int plugin_api_infolist_prev (struct t_weechat_plugin *,
|
||||
void *);
|
||||
extern char *plugin_api_infolist_fields (struct t_weechat_plugin *, void *);
|
||||
extern int plugin_api_infolist_integer (struct t_weechat_plugin *, void *, char *);
|
||||
extern char *plugin_api_infolist_string (struct t_weechat_plugin *, void *, char *);
|
||||
extern void *plugin_api_infolist_pointer (struct t_weechat_plugin *, void *, char *);
|
||||
extern time_t plugin_api_infolist_time (struct t_weechat_plugin *, void *, char *);
|
||||
extern void plugin_api_infolist_free (struct t_weechat_plugin *, void *);
|
||||
|
||||
/* log */
|
||||
extern void plugin_api_log (struct t_weechat_plugin *, char *, char *,
|
||||
char *, ...);
|
||||
extern struct t_plugin_infolist *plugin_api_infolist_get (char *name,
|
||||
void *pointer);
|
||||
extern int plugin_api_infolist_next (struct t_plugin_infolist *infolist);
|
||||
extern int plugin_api_infolist_prev (struct t_plugin_infolist *infolist);
|
||||
extern char *plugin_api_infolist_fields (struct t_plugin_infolist *infolist);
|
||||
extern int plugin_api_infolist_integer (struct t_plugin_infolist *infolist,
|
||||
char *var);
|
||||
extern char *plugin_api_infolist_string (struct t_plugin_infolist *infolist,
|
||||
char *var);
|
||||
extern void *plugin_api_infolist_pointer (struct t_plugin_infolist *infolist,
|
||||
char *var);
|
||||
extern time_t plugin_api_infolist_time (struct t_plugin_infolist *infolist,
|
||||
char *var);
|
||||
extern void plugin_api_infolist_free (struct t_plugin_infolist *infolist);
|
||||
|
||||
#endif /* plugin-api.h */
|
||||
|
||||
@@ -289,7 +289,8 @@ plugin_config_free_all ()
|
||||
*/
|
||||
|
||||
void
|
||||
plugin_config_read_option (void *config_file, char *option_name, char *value)
|
||||
plugin_config_read_option (struct t_config_file *config_file,
|
||||
char *option_name, char *value)
|
||||
{
|
||||
char *value2;
|
||||
|
||||
@@ -311,7 +312,8 @@ plugin_config_read_option (void *config_file, char *option_name, char *value)
|
||||
*/
|
||||
|
||||
void
|
||||
plugin_config_write_options (void *config_file, char *section_name)
|
||||
plugin_config_write_options (struct t_config_file *config_file,
|
||||
char *section_name)
|
||||
{
|
||||
struct t_config_option *ptr_option;
|
||||
|
||||
@@ -383,5 +385,5 @@ int
|
||||
plugin_config_write ()
|
||||
{
|
||||
log_printf (_("Saving plugins configuration to disk"));
|
||||
return config_file_write (plugin_config, 0);
|
||||
return config_file_write (plugin_config);
|
||||
}
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
extern struct t_config_file *plugin_config;
|
||||
extern struct t_config_option *plugin_options;
|
||||
|
||||
extern struct t_config_option *plugin_config_search_internal (char *);
|
||||
extern struct t_config_option *plugin_config_search (char *, char *);
|
||||
extern int plugin_config_set_internal (char *, char *);
|
||||
extern int plugin_config_set (char *, char *, char *);
|
||||
extern struct t_config_option *plugin_config_search_internal (char *option_name);
|
||||
extern struct t_config_option *plugin_config_search (char *plugin_name,
|
||||
char *option_name);
|
||||
extern int plugin_config_set_internal (char *option, char *value);
|
||||
extern int plugin_config_set (char *plugin_name, char *option_name,
|
||||
char *value);
|
||||
extern void plugin_config_init ();
|
||||
extern int plugin_config_read ();
|
||||
extern int plugin_config_reload ();
|
||||
|
||||
@@ -98,7 +98,7 @@ plugin_infolist_new_item (struct t_plugin_infolist *list)
|
||||
|
||||
struct t_plugin_infolist_var *
|
||||
plugin_infolist_new_var_integer (struct t_plugin_infolist_item *item,
|
||||
char *name, int value)
|
||||
char *name, int value)
|
||||
{
|
||||
struct t_plugin_infolist_var *new_var;
|
||||
|
||||
@@ -131,7 +131,7 @@ plugin_infolist_new_var_integer (struct t_plugin_infolist_item *item,
|
||||
|
||||
struct t_plugin_infolist_var *
|
||||
plugin_infolist_new_var_string (struct t_plugin_infolist_item *item,
|
||||
char *name, char *value)
|
||||
char *name, char *value)
|
||||
{
|
||||
struct t_plugin_infolist_var *new_var;
|
||||
|
||||
@@ -163,7 +163,7 @@ plugin_infolist_new_var_string (struct t_plugin_infolist_item *item,
|
||||
|
||||
struct t_plugin_infolist_var *
|
||||
plugin_infolist_new_var_pointer (struct t_plugin_infolist_item *item,
|
||||
char *name, void *pointer)
|
||||
char *name, void *pointer)
|
||||
{
|
||||
struct t_plugin_infolist_var *new_var;
|
||||
|
||||
@@ -195,7 +195,7 @@ plugin_infolist_new_var_pointer (struct t_plugin_infolist_item *item,
|
||||
|
||||
struct t_plugin_infolist_var *
|
||||
plugin_infolist_new_var_time (struct t_plugin_infolist_item *item,
|
||||
char *name, time_t time)
|
||||
char *name, time_t time)
|
||||
{
|
||||
struct t_plugin_infolist_var *new_var;
|
||||
|
||||
@@ -447,7 +447,7 @@ plugin_infolist_get_time (struct t_plugin_infolist *list, char *var)
|
||||
|
||||
void
|
||||
plugin_infolist_var_free (struct t_plugin_infolist_item *item,
|
||||
struct t_plugin_infolist_var *var)
|
||||
struct t_plugin_infolist_var *var)
|
||||
{
|
||||
struct t_plugin_infolist_var *new_vars;
|
||||
|
||||
@@ -485,7 +485,7 @@ plugin_infolist_var_free (struct t_plugin_infolist_item *item,
|
||||
|
||||
void
|
||||
plugin_infolist_item_free (struct t_plugin_infolist *list,
|
||||
struct t_plugin_infolist_item *item)
|
||||
struct t_plugin_infolist_item *item)
|
||||
{
|
||||
struct t_plugin_infolist_item *new_items;
|
||||
|
||||
|
||||
@@ -51,11 +51,11 @@ struct t_plugin_infolist_item
|
||||
|
||||
struct t_plugin_infolist
|
||||
{
|
||||
struct t_plugin_infolist_item *items; /* link to items */
|
||||
struct t_plugin_infolist_item *last_item; /* last variable */
|
||||
struct t_plugin_infolist_item *ptr_item; /* pointer to current item */
|
||||
struct t_plugin_infolist *prev_infolist; /* link to previous list */
|
||||
struct t_plugin_infolist *next_infolist; /* link to next list */
|
||||
struct t_plugin_infolist_item *items; /* link to items */
|
||||
struct t_plugin_infolist_item *last_item; /* last variable */
|
||||
struct t_plugin_infolist_item *ptr_item; /* pointer to current item */
|
||||
struct t_plugin_infolist *prev_infolist; /* link to previous list */
|
||||
struct t_plugin_infolist *next_infolist; /* link to next list */
|
||||
};
|
||||
|
||||
/* list variables */
|
||||
@@ -66,24 +66,32 @@ extern struct t_plugin_infolist *last_plugin_infolist;
|
||||
/* list functions */
|
||||
|
||||
extern struct t_plugin_infolist *plugin_infolist_new ();
|
||||
extern struct t_plugin_infolist_item *plugin_infolist_new_item (struct t_plugin_infolist *);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_integer (struct t_plugin_infolist_item *,
|
||||
char *, int);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_string (struct t_plugin_infolist_item *,
|
||||
char *, char *);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_pointer (struct t_plugin_infolist_item *,
|
||||
char *, void *);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_time (struct t_plugin_infolist_item *,
|
||||
char *, time_t);
|
||||
extern int plugin_infolist_valid (struct t_plugin_infolist *);
|
||||
extern struct t_plugin_infolist_item *plugin_infolist_next_item (struct t_plugin_infolist *);
|
||||
extern struct t_plugin_infolist_item *plugin_infolist_prev_item (struct t_plugin_infolist *);
|
||||
extern char *plugin_infolist_get_fields (struct t_plugin_infolist *);
|
||||
extern int plugin_infolist_get_integer (struct t_plugin_infolist *, char *);
|
||||
extern char *plugin_infolist_get_string (struct t_plugin_infolist *, char *);
|
||||
extern void *plugin_infolist_get_pointer (struct t_plugin_infolist *, char *);
|
||||
extern time_t plugin_infolist_get_time (struct t_plugin_infolist *, char *);
|
||||
extern void plugin_infolist_free (struct t_plugin_infolist *);
|
||||
extern struct t_plugin_infolist_item *plugin_infolist_new_item (struct t_plugin_infolist *list);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_integer (struct t_plugin_infolist_item *item,
|
||||
char *name,
|
||||
int value);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_string (struct t_plugin_infolist_item *item,
|
||||
char *name,
|
||||
char *value);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_pointer (struct t_plugin_infolist_item *item,
|
||||
char *name,
|
||||
void *pointer);
|
||||
extern struct t_plugin_infolist_var *plugin_infolist_new_var_time (struct t_plugin_infolist_item *item,
|
||||
char *name,
|
||||
time_t time);
|
||||
extern int plugin_infolist_valid (struct t_plugin_infolist *list);
|
||||
extern struct t_plugin_infolist_item *plugin_infolist_next_item (struct t_plugin_infolist *list);
|
||||
extern struct t_plugin_infolist_item *plugin_infolist_prev_item (struct t_plugin_infolist *list);
|
||||
extern char *plugin_infolist_get_fields (struct t_plugin_infolist *list);
|
||||
extern int plugin_infolist_get_integer (struct t_plugin_infolist *list,
|
||||
char *var);
|
||||
extern char *plugin_infolist_get_string (struct t_plugin_infolist *list,
|
||||
char *var);
|
||||
extern void *plugin_infolist_get_pointer (struct t_plugin_infolist *list,
|
||||
char *var);
|
||||
extern time_t plugin_infolist_get_time (struct t_plugin_infolist *list,
|
||||
char *var);
|
||||
extern void plugin_infolist_free (struct t_plugin_infolist *list);
|
||||
extern void plugin_infolist_print_log ();
|
||||
|
||||
#endif /* plugin-infolist.h */
|
||||
|
||||
+90
-118
@@ -36,10 +36,14 @@
|
||||
#include "../core/weechat.h"
|
||||
#include "../core/wee-config.h"
|
||||
#include "../core/wee-hook.h"
|
||||
#include "../core/wee-list.h"
|
||||
#include "../core/wee-log.h"
|
||||
#include "../core/wee-string.h"
|
||||
#include "../core/wee-utf8.h"
|
||||
#include "../core/wee-util.h"
|
||||
#include "../gui/gui-buffer.h"
|
||||
#include "../gui/gui-chat.h"
|
||||
#include "../gui/gui-nicklist.h"
|
||||
#include "plugin.h"
|
||||
#include "plugin-api.h"
|
||||
#include "plugin-config.h"
|
||||
@@ -50,37 +54,6 @@ struct t_weechat_plugin *weechat_plugins = NULL;
|
||||
struct t_weechat_plugin *last_weechat_plugin = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* plugin_exec_on_files: find files in a directory and execute a
|
||||
* function on each file
|
||||
*/
|
||||
|
||||
void
|
||||
plugin_exec_on_files (struct t_weechat_plugin *plugin, char *directory,
|
||||
int (*callback)(struct t_weechat_plugin *, char *))
|
||||
{
|
||||
char complete_filename[1024];
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
struct stat statbuf;
|
||||
|
||||
dir = opendir (directory);
|
||||
if (dir)
|
||||
{
|
||||
while ((entry = readdir (dir)))
|
||||
{
|
||||
snprintf (complete_filename, sizeof (complete_filename) - 1,
|
||||
"%s/%s", directory, entry->d_name);
|
||||
lstat (complete_filename, &statbuf);
|
||||
if (!S_ISDIR(statbuf.st_mode))
|
||||
{
|
||||
(int) (*callback) (plugin, complete_filename);
|
||||
}
|
||||
}
|
||||
closedir (dir);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* plugin_search: search a plugin by name
|
||||
*/
|
||||
@@ -224,99 +197,100 @@ plugin_load (char *filename)
|
||||
|
||||
/* functions */
|
||||
new_plugin->charset_set = &plugin_api_charset_set;
|
||||
new_plugin->iconv_to_internal = &plugin_api_iconv_to_internal;
|
||||
new_plugin->iconv_from_internal = &plugin_api_iconv_from_internal;
|
||||
new_plugin->iconv_to_internal = &string_iconv_to_internal;
|
||||
new_plugin->iconv_from_internal = &string_iconv_from_internal;
|
||||
new_plugin->gettext = &plugin_api_gettext;
|
||||
new_plugin->ngettext = &plugin_api_ngettext;
|
||||
new_plugin->strcasecmp = &plugin_api_strcasecmp;
|
||||
new_plugin->strncasecmp = &plugin_api_strncasecmp;
|
||||
new_plugin->strcasestr = &plugin_api_strcasestr;
|
||||
new_plugin->string_replace = &plugin_api_string_replace;
|
||||
new_plugin->string_explode = &plugin_api_string_explode;
|
||||
new_plugin->string_free_exploded = &plugin_api_string_free_exploded;
|
||||
new_plugin->string_split_command = &plugin_api_string_split_command;
|
||||
new_plugin->string_free_splitted_command = &plugin_api_string_free_splitted_command;
|
||||
|
||||
new_plugin->utf8_has_8bits = &plugin_api_utf8_has_8bits;
|
||||
new_plugin->utf8_is_valid = &plugin_api_utf8_is_valid;
|
||||
new_plugin->utf8_normalize = &plugin_api_utf8_normalize;
|
||||
new_plugin->utf8_prev_char = &plugin_api_utf8_prev_char;
|
||||
new_plugin->utf8_next_char = &plugin_api_utf8_next_char;
|
||||
new_plugin->utf8_char_size = &plugin_api_utf8_char_size;
|
||||
new_plugin->utf8_strlen = &plugin_api_utf8_strlen;
|
||||
new_plugin->utf8_strnlen = &plugin_api_utf8_strnlen;
|
||||
new_plugin->utf8_strlen_screen = &plugin_api_utf8_strlen_screen;
|
||||
new_plugin->utf8_charcasecmp = &plugin_api_utf8_charcasecmp;
|
||||
new_plugin->utf8_char_size_screen = &plugin_api_utf8_char_size_screen;
|
||||
new_plugin->utf8_add_offset = &plugin_api_utf8_add_offset;
|
||||
new_plugin->utf8_real_pos = &plugin_api_utf8_real_pos;
|
||||
new_plugin->utf8_pos = &plugin_api_utf8_pos;
|
||||
new_plugin->strcasecmp = &string_strcasecmp;
|
||||
new_plugin->strncasecmp = &string_strncasecmp;
|
||||
new_plugin->strcasestr = &string_strcasestr;
|
||||
new_plugin->string_replace = &string_replace;
|
||||
new_plugin->string_explode = &string_explode;
|
||||
new_plugin->string_free_exploded = &string_free_exploded;
|
||||
new_plugin->string_split_command = &string_split_command;
|
||||
new_plugin->string_free_splitted_command = &string_free_splitted_command;
|
||||
|
||||
new_plugin->utf8_has_8bits = &utf8_has_8bits;
|
||||
new_plugin->utf8_is_valid = &utf8_is_valid;
|
||||
new_plugin->utf8_normalize = &utf8_normalize;
|
||||
new_plugin->utf8_prev_char = &utf8_prev_char;
|
||||
new_plugin->utf8_next_char = &utf8_next_char;
|
||||
new_plugin->utf8_char_size = &utf8_char_size;
|
||||
new_plugin->utf8_strlen = &utf8_strlen;
|
||||
new_plugin->utf8_strnlen = &utf8_strnlen;
|
||||
new_plugin->utf8_strlen_screen = &utf8_strlen_screen;
|
||||
new_plugin->utf8_charcasecmp = &utf8_charcasecmp;
|
||||
new_plugin->utf8_char_size_screen = &utf8_char_size_screen;
|
||||
new_plugin->utf8_add_offset = &utf8_add_offset;
|
||||
new_plugin->utf8_real_pos = &utf8_real_pos;
|
||||
new_plugin->utf8_pos = &utf8_pos;
|
||||
|
||||
new_plugin->mkdir_home = &plugin_api_mkdir_home;
|
||||
new_plugin->mkdir = &plugin_api_mkdir;
|
||||
new_plugin->exec_on_files = &plugin_api_exec_on_files;
|
||||
new_plugin->exec_on_files = &util_exec_on_files;
|
||||
|
||||
new_plugin->timeval_diff = &plugin_api_timeval_diff;
|
||||
new_plugin->timeval_cmp = &util_timeval_cmp;
|
||||
new_plugin->timeval_diff = &util_timeval_diff;
|
||||
new_plugin->timeval_add = &util_timeval_add;
|
||||
|
||||
new_plugin->list_new = &plugin_api_list_new;
|
||||
new_plugin->list_add = &plugin_api_list_add;
|
||||
new_plugin->list_search = &plugin_api_list_search;
|
||||
new_plugin->list_casesearch = &plugin_api_list_casesearch;
|
||||
new_plugin->list_get = &plugin_api_list_get;
|
||||
new_plugin->list_next = &plugin_api_list_next;
|
||||
new_plugin->list_prev = &plugin_api_list_prev;
|
||||
new_plugin->list_string = &plugin_api_list_string;
|
||||
new_plugin->list_size = &plugin_api_list_size;
|
||||
new_plugin->list_remove = &plugin_api_list_remove;
|
||||
new_plugin->list_remove_all = &plugin_api_list_remove_all;
|
||||
new_plugin->list_free = &plugin_api_list_free;
|
||||
new_plugin->list_new = &weelist_new;
|
||||
new_plugin->list_add = &weelist_add;
|
||||
new_plugin->list_search = &weelist_search;
|
||||
new_plugin->list_casesearch = &weelist_casesearch;
|
||||
new_plugin->list_get = &weelist_get;
|
||||
new_plugin->list_next = &weelist_next;
|
||||
new_plugin->list_prev = &weelist_prev;
|
||||
new_plugin->list_string = &weelist_string;
|
||||
new_plugin->list_size = &weelist_size;
|
||||
new_plugin->list_remove = &weelist_remove;
|
||||
new_plugin->list_remove_all = &weelist_remove_all;
|
||||
new_plugin->list_free = &weelist_free;
|
||||
|
||||
new_plugin->config_new = &plugin_api_config_new;
|
||||
new_plugin->config_new_section = &plugin_api_config_new_section;
|
||||
new_plugin->config_search_section = &plugin_api_config_search_section;
|
||||
new_plugin->config_new_option = &plugin_api_config_new_option;
|
||||
new_plugin->config_search_option = &plugin_api_config_search_option;
|
||||
new_plugin->config_option_set = &plugin_api_config_option_set;
|
||||
new_plugin->config_string_to_boolean = &plugin_api_config_string_to_boolean;
|
||||
new_plugin->config_boolean = &plugin_api_config_boolean;
|
||||
new_plugin->config_integer = &plugin_api_config_integer;
|
||||
new_plugin->config_string = &plugin_api_config_string;
|
||||
new_plugin->config_color = &plugin_api_config_color;
|
||||
new_plugin->config_read = &plugin_api_config_read;
|
||||
new_plugin->config_reload = &plugin_api_config_reload;
|
||||
new_plugin->config_write = &plugin_api_config_write;
|
||||
new_plugin->config_write_line = &plugin_api_config_write_line;
|
||||
new_plugin->config_free = &plugin_api_config_free;
|
||||
new_plugin->config_get = &plugin_api_config_get;
|
||||
new_plugin->plugin_config_get = &plugin_api_plugin_config_get;
|
||||
new_plugin->plugin_config_set = &plugin_api_plugin_config_set;
|
||||
new_plugin->config_new = &config_file_new;
|
||||
new_plugin->config_new_section = &config_file_new_section;
|
||||
new_plugin->config_search_section = &config_file_search_section;
|
||||
new_plugin->config_new_option = &config_file_new_option;
|
||||
new_plugin->config_search_option = &config_file_search_option;
|
||||
new_plugin->config_option_set = &config_file_option_set;
|
||||
new_plugin->config_string_to_boolean = &config_file_string_to_boolean;
|
||||
new_plugin->config_boolean = &config_file_option_boolean;
|
||||
new_plugin->config_integer = &config_file_option_integer;
|
||||
new_plugin->config_string = &config_file_option_string;
|
||||
new_plugin->config_color = &config_file_option_color;
|
||||
new_plugin->config_write_line = &config_file_write_line;
|
||||
new_plugin->config_write = &config_file_write;
|
||||
new_plugin->config_read = &config_file_read;
|
||||
new_plugin->config_reload = &config_file_reload;
|
||||
new_plugin->config_free = &config_file_free;
|
||||
new_plugin->config_get_weechat = &plugin_api_config_get_weechat;
|
||||
new_plugin->config_get_plugin = &plugin_api_config_get_plugin;
|
||||
new_plugin->config_set_plugin = &plugin_api_config_set_plugin;
|
||||
|
||||
new_plugin->prefix = &plugin_api_prefix;
|
||||
new_plugin->color = &plugin_api_color;
|
||||
new_plugin->printf = &plugin_api_printf;
|
||||
new_plugin->printf_date = &plugin_api_printf_date;
|
||||
new_plugin->log_printf = &plugin_api_log_printf;
|
||||
new_plugin->printf_date = &gui_chat_printf_date;
|
||||
new_plugin->log_printf = &log_printf;
|
||||
new_plugin->infobar_printf = &plugin_api_infobar_printf;
|
||||
new_plugin->infobar_remove = &plugin_api_infobar_remove;
|
||||
|
||||
new_plugin->hook_command = &plugin_api_hook_command;
|
||||
new_plugin->hook_timer = &plugin_api_hook_timer;
|
||||
new_plugin->hook_fd = &plugin_api_hook_fd;
|
||||
new_plugin->hook_print = &plugin_api_hook_print;
|
||||
new_plugin->hook_signal = &plugin_api_hook_signal;
|
||||
new_plugin->hook_signal_send = &plugin_api_hook_signal_send;
|
||||
new_plugin->hook_config = &plugin_api_hook_config;
|
||||
new_plugin->hook_completion = &plugin_api_hook_completion;
|
||||
new_plugin->unhook = &plugin_api_unhook;
|
||||
new_plugin->unhook_all = &plugin_api_unhook_all;
|
||||
new_plugin->hook_command = &hook_command;
|
||||
new_plugin->hook_timer = &hook_timer;
|
||||
new_plugin->hook_fd = &hook_fd;
|
||||
new_plugin->hook_print = &hook_print;
|
||||
new_plugin->hook_signal = &hook_signal;
|
||||
new_plugin->hook_signal_send = &hook_signal_send;
|
||||
new_plugin->hook_config = &hook_config;
|
||||
new_plugin->hook_completion = &hook_completion;
|
||||
new_plugin->unhook = &unhook;
|
||||
new_plugin->unhook_all = &unhook_all_plugin;
|
||||
|
||||
new_plugin->buffer_new = &plugin_api_buffer_new;
|
||||
new_plugin->buffer_search = &plugin_api_buffer_search;
|
||||
new_plugin->buffer_close = &plugin_api_buffer_close;
|
||||
new_plugin->buffer_get = &plugin_api_buffer_get;
|
||||
new_plugin->buffer_set = &plugin_api_buffer_set;
|
||||
new_plugin->buffer_nick_add = &plugin_api_buffer_nick_add;
|
||||
new_plugin->buffer_nick_remove = &plugin_api_buffer_nick_remove;
|
||||
new_plugin->buffer_new = &gui_buffer_new;
|
||||
new_plugin->buffer_search = &gui_buffer_search_by_category_name;
|
||||
new_plugin->buffer_close = &gui_buffer_close;
|
||||
new_plugin->buffer_get = &gui_buffer_get;
|
||||
new_plugin->buffer_set = &gui_buffer_set;
|
||||
new_plugin->buffer_nick_add = &gui_nicklist_add;
|
||||
new_plugin->buffer_nick_remove = &gui_nicklist_remove;
|
||||
|
||||
new_plugin->command = &plugin_api_command;
|
||||
|
||||
@@ -332,8 +306,6 @@ plugin_load (char *filename)
|
||||
new_plugin->infolist_time = &plugin_api_infolist_time;
|
||||
new_plugin->infolist_free = &plugin_api_infolist_free;
|
||||
|
||||
new_plugin->log = &plugin_api_log;
|
||||
|
||||
/* add new plugin to list */
|
||||
new_plugin->prev_plugin = last_weechat_plugin;
|
||||
new_plugin->next_plugin = NULL;
|
||||
@@ -383,7 +355,7 @@ plugin_load (char *filename)
|
||||
*/
|
||||
|
||||
int
|
||||
plugin_auto_load_file (struct t_weechat_plugin *plugin, char *filename)
|
||||
plugin_auto_load_file (void *plugin, char *filename)
|
||||
{
|
||||
char *pos;
|
||||
|
||||
@@ -432,11 +404,11 @@ plugin_auto_load ()
|
||||
plugins_path2 = string_replace ((plugins_path) ?
|
||||
plugins_path : CONFIG_STRING(config_plugins_path),
|
||||
"%h", weechat_home);
|
||||
plugin_exec_on_files (NULL,
|
||||
(plugins_path2) ?
|
||||
plugins_path2 : ((plugins_path) ?
|
||||
plugins_path : CONFIG_STRING(config_plugins_path)),
|
||||
&plugin_auto_load_file);
|
||||
util_exec_on_files ((plugins_path2) ?
|
||||
plugins_path2 : ((plugins_path) ?
|
||||
plugins_path : CONFIG_STRING(config_plugins_path)),
|
||||
NULL,
|
||||
&plugin_auto_load_file);
|
||||
if (plugins_path)
|
||||
free (plugins_path);
|
||||
if (plugins_path2)
|
||||
@@ -449,7 +421,7 @@ plugin_auto_load ()
|
||||
{
|
||||
snprintf (dir_name, strlen (WEECHAT_LIBDIR) + 16,
|
||||
"%s/plugins", WEECHAT_LIBDIR);
|
||||
plugin_exec_on_files (NULL, dir_name, &plugin_auto_load_file);
|
||||
util_exec_on_files (dir_name, NULL, &plugin_auto_load_file);
|
||||
free (dir_name);
|
||||
}
|
||||
}
|
||||
|
||||
+9
-11
@@ -22,25 +22,23 @@
|
||||
|
||||
#include "weechat-plugin.h"
|
||||
|
||||
typedef int (t_weechat_init_func) (struct t_weechat_plugin *);
|
||||
typedef void (t_weechat_end_func) (struct t_weechat_plugin *);
|
||||
typedef int (t_weechat_init_func) (struct t_weechat_plugin *plugin);
|
||||
typedef void (t_weechat_end_func) (struct t_weechat_plugin *plugin);
|
||||
|
||||
extern struct t_weechat_plugin *weechat_plugins;
|
||||
extern struct t_weechat_plugin *last_weechat_plugin;
|
||||
|
||||
//extern t_plugin_irc_color plugins_irc_colors[GUI_NUM_IRC_COLORS];
|
||||
|
||||
extern void plugin_exec_on_files (struct t_weechat_plugin *, char *,
|
||||
int (*)(struct t_weechat_plugin *, char *));
|
||||
extern struct t_weechat_plugin *plugin_search (char *);
|
||||
extern struct t_weechat_plugin *plugin_load (char *);
|
||||
extern struct t_weechat_plugin *plugin_search (char *name);
|
||||
extern struct t_weechat_plugin *plugin_load (char *filename);
|
||||
extern void plugin_auto_load ();
|
||||
extern void plugin_remove (struct t_weechat_plugin *);
|
||||
extern void plugin_unload (struct t_weechat_plugin *);
|
||||
extern void plugin_unload_name (char *);
|
||||
extern void plugin_remove (struct t_weechat_plugin *plugin);
|
||||
extern void plugin_unload (struct t_weechat_plugin *plugin);
|
||||
extern void plugin_unload_name (char *name);
|
||||
extern void plugin_unload_all ();
|
||||
extern void plugin_reload_name (char *);
|
||||
extern void plugin_init (int);
|
||||
extern void plugin_reload_name (char *name);
|
||||
extern void plugin_init (int auto_load);
|
||||
extern void plugin_end ();
|
||||
extern void plugin_print_log ();
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ weechat_lua_exec (t_weechat_plugin *plugin,
|
||||
ret_value = strdup ((char *) lua_tostring (lua_current_interpreter, -1));
|
||||
else if (ret_type == SCRIPT_EXEC_INT)
|
||||
{
|
||||
ret_i = (int *) malloc (sizeof(int));
|
||||
ret_i = (int *)malloc (sizeof(int));
|
||||
if (ret_i)
|
||||
*ret_i = lua_tonumber (lua_current_interpreter, -1);
|
||||
ret_value = ret_i;
|
||||
|
||||
@@ -131,7 +131,7 @@ weechat_perl_exec (t_weechat_plugin *plugin,
|
||||
|
||||
#ifndef MULTIPLICITY
|
||||
int size = strlen (script->interpreter) + strlen(function) + 3;
|
||||
func = (char *) malloc ( size * sizeof(char));
|
||||
func = (char *)malloc (size * sizeof(char));
|
||||
if (!func)
|
||||
return NULL;
|
||||
snprintf (func, size, "%s::%s", (char *) script->interpreter, function);
|
||||
@@ -199,7 +199,7 @@ weechat_perl_exec (t_weechat_plugin *plugin,
|
||||
}
|
||||
else if (ret_type == SCRIPT_EXEC_INT)
|
||||
{
|
||||
ret_i = (int *) malloc (sizeof(int));
|
||||
ret_i = (int *)malloc (sizeof(int));
|
||||
if (ret_i)
|
||||
*ret_i = POPi;
|
||||
ret_value = ret_i;
|
||||
|
||||
@@ -121,7 +121,7 @@ weechat_python_exec (t_weechat_plugin *plugin,
|
||||
else if (PyInt_Check (rc) && (ret_type == SCRIPT_EXEC_INT))
|
||||
{
|
||||
|
||||
ret_i = (int *) malloc (sizeof(int));
|
||||
ret_i = (int *)malloc (sizeof(int));
|
||||
if (ret_i)
|
||||
*ret_i = (int) PyInt_AsLong(rc);
|
||||
ret_value = ret_i;
|
||||
@@ -2279,7 +2279,7 @@ weechat_python_load (t_weechat_plugin *plugin, char *filename)
|
||||
if (w_home)
|
||||
{
|
||||
len = strlen (w_home) + 1 + strlen("python") + 1;
|
||||
p_home = (char *) malloc (len * sizeof(char));
|
||||
p_home = (char *)malloc (len * sizeof(char));
|
||||
if (p_home)
|
||||
{
|
||||
snprintf (p_home, len, "%s/python", w_home);
|
||||
|
||||
@@ -168,7 +168,7 @@ weechat_ruby_exec (t_weechat_plugin *plugin,
|
||||
}
|
||||
else if ((TYPE(rc) == T_FIXNUM) && ret_type == SCRIPT_EXEC_INT)
|
||||
{
|
||||
ret_i = (int *) malloc (sizeof(int));
|
||||
ret_i = (int *)malloc (sizeof(int));
|
||||
if (ret_i)
|
||||
*ret_i = NUM2INT(rc);
|
||||
ret_value = ret_i;
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <dirent.h>
|
||||
|
||||
#include "../weechat-plugin.h"
|
||||
#include "weechat-script.h"
|
||||
#include "script.h"
|
||||
|
||||
|
||||
/*
|
||||
@@ -37,8 +37,8 @@
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_auto_load (t_weechat_plugin *plugin, char *language,
|
||||
int (*callback)(t_weechat_plugin *, char *))
|
||||
weechat_script_auto_load (struct t_weechat_plugin *plugin, char *language,
|
||||
int (*callback)(void *data, char *filename))
|
||||
{
|
||||
char *dir_home, *dir_name;
|
||||
int dir_length;
|
||||
@@ -49,7 +49,7 @@ weechat_script_auto_load (t_weechat_plugin *plugin, char *language,
|
||||
return;
|
||||
dir_length = strlen (dir_home) + strlen (language) + 16;
|
||||
dir_name =
|
||||
(char *) malloc (dir_length * sizeof (char));
|
||||
(char *)malloc (dir_length * sizeof (char));
|
||||
if (!dir_name)
|
||||
{
|
||||
free (dir_home);
|
||||
@@ -57,7 +57,7 @@ weechat_script_auto_load (t_weechat_plugin *plugin, char *language,
|
||||
}
|
||||
snprintf (dir_name, dir_length, "%s/%s/autoload", dir_home, language);
|
||||
|
||||
plugin->exec_on_files (plugin, dir_name, callback);
|
||||
plugin->exec_on_files (dir_name, plugin, callback);
|
||||
|
||||
free (dir_name);
|
||||
free (dir_home);
|
||||
@@ -68,7 +68,7 @@ weechat_script_auto_load (t_weechat_plugin *plugin, char *language,
|
||||
*/
|
||||
|
||||
t_plugin_script *
|
||||
weechat_script_search (t_weechat_plugin *plugin,
|
||||
weechat_script_search (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script **list, char *name)
|
||||
{
|
||||
t_plugin_script *ptr_script;
|
||||
@@ -89,7 +89,7 @@ weechat_script_search (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
char *
|
||||
weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
weechat_script_search_full_name (struct t_weechat_plugin *plugin,
|
||||
char *language, char *filename)
|
||||
{
|
||||
char *final_name, *dir_home, *dir_system;
|
||||
@@ -102,7 +102,7 @@ weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
if (!dir_home)
|
||||
return NULL;
|
||||
length = strlen (dir_home) + strlen (filename + 1) + 1;
|
||||
final_name = (char *) malloc (length);
|
||||
final_name = (char *)malloc (length);
|
||||
if (final_name)
|
||||
{
|
||||
snprintf (final_name, length, "%s%s", dir_home, filename + 1);
|
||||
@@ -116,7 +116,7 @@ weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
if (dir_home)
|
||||
{
|
||||
length = strlen (dir_home) + strlen (language) + 8 + strlen (filename) + 16;
|
||||
final_name = (char *) malloc (length);
|
||||
final_name = (char *)malloc (length);
|
||||
if (final_name)
|
||||
{
|
||||
snprintf (final_name, length, "%s/%s/autoload/%s", dir_home, language, filename);
|
||||
@@ -135,7 +135,7 @@ weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
if (dir_home)
|
||||
{
|
||||
length = strlen (dir_home) + strlen (language) + strlen (filename) + 16;
|
||||
final_name = (char *) malloc (length);
|
||||
final_name = (char *)malloc (length);
|
||||
if (final_name)
|
||||
{
|
||||
snprintf (final_name, length, "%s/%s/%s", dir_home, language, filename);
|
||||
@@ -154,7 +154,7 @@ weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
if (dir_home)
|
||||
{
|
||||
length = strlen (dir_home) + strlen (filename) + 16;
|
||||
final_name = (char *) malloc (length);
|
||||
final_name = (char *)malloc (length);
|
||||
if (final_name)
|
||||
{
|
||||
snprintf (final_name, length, "%s/%s", dir_home, filename);
|
||||
@@ -173,7 +173,7 @@ weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
if (dir_system)
|
||||
{
|
||||
length = strlen (dir_system) + strlen (dir_system) + strlen (filename) + 16;
|
||||
final_name = (char *) malloc (length);
|
||||
final_name = (char *)malloc (length);
|
||||
if (final_name)
|
||||
{
|
||||
snprintf (final_name,length, "%s/%s/%s", dir_system, language, filename);
|
||||
@@ -195,7 +195,7 @@ weechat_script_search_full_name (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
t_plugin_script *
|
||||
weechat_script_add (t_weechat_plugin *plugin,
|
||||
weechat_script_add (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script **script_list,
|
||||
char *filename,
|
||||
char *name, char *version,
|
||||
@@ -245,7 +245,7 @@ weechat_script_add (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_remove (t_weechat_plugin *plugin,
|
||||
weechat_script_remove (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script **script_list, t_plugin_script *script)
|
||||
{
|
||||
t_plugin_handler *ptr_handler, *next_handler;
|
||||
@@ -310,7 +310,7 @@ weechat_script_remove (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_print (t_weechat_plugin *plugin,
|
||||
weechat_script_print (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *server, char *channel,
|
||||
char *message, ...)
|
||||
@@ -335,7 +335,7 @@ weechat_script_print (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_print_server (t_weechat_plugin *plugin,
|
||||
weechat_script_print_server (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *message, ...)
|
||||
{
|
||||
@@ -359,9 +359,9 @@ weechat_script_print_server (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_print_infobar (t_weechat_plugin *plugin,
|
||||
weechat_script_print_infobar (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
int time_displayed, char *message, ...)
|
||||
int delay, char *message, ...)
|
||||
{
|
||||
va_list argptr;
|
||||
static char buf[1024];
|
||||
@@ -373,7 +373,7 @@ weechat_script_print_infobar (t_weechat_plugin *plugin,
|
||||
|
||||
buf2 = (script->charset && script->charset[0]) ?
|
||||
plugin->iconv_to_internal (plugin, script->charset, buf) : NULL;
|
||||
plugin->print_infobar (plugin, time_displayed, "%s", (buf2) ? buf2 : buf);
|
||||
plugin->print_infobar (plugin, delay, "%s", (buf2) ? buf2 : buf);
|
||||
if (buf2)
|
||||
free (buf2);
|
||||
}
|
||||
@@ -383,7 +383,7 @@ weechat_script_print_infobar (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_log (t_weechat_plugin *plugin,
|
||||
weechat_script_log (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *server, char *channel, char *message, ...)
|
||||
{
|
||||
@@ -407,7 +407,7 @@ weechat_script_log (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_exec_command (t_weechat_plugin *plugin,
|
||||
weechat_script_exec_command (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *server, char *channel, char *command)
|
||||
{
|
||||
@@ -428,7 +428,7 @@ weechat_script_exec_command (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_remove_handler (t_weechat_plugin *plugin,
|
||||
weechat_script_remove_handler (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *arg1, char *arg2)
|
||||
{
|
||||
@@ -464,7 +464,7 @@ weechat_script_remove_handler (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_remove_timer_handler (t_weechat_plugin *plugin,
|
||||
weechat_script_remove_timer_handler (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *function)
|
||||
{
|
||||
@@ -492,7 +492,7 @@ weechat_script_remove_timer_handler (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_remove_keyboard_handler (t_weechat_plugin *plugin,
|
||||
weechat_script_remove_keyboard_handler (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *function)
|
||||
{
|
||||
@@ -520,7 +520,7 @@ weechat_script_remove_keyboard_handler (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_remove_event_handler (t_weechat_plugin *plugin,
|
||||
weechat_script_remove_event_handler (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *function)
|
||||
{
|
||||
@@ -549,7 +549,7 @@ weechat_script_remove_event_handler (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_remove_modifier (t_weechat_plugin *plugin,
|
||||
weechat_script_remove_modifier (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *arg1, char *arg2, char *arg3)
|
||||
{
|
||||
@@ -594,7 +594,7 @@ weechat_script_remove_modifier (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
char *
|
||||
weechat_script_get_plugin_config (t_weechat_plugin *plugin,
|
||||
weechat_script_get_plugin_config (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *option)
|
||||
{
|
||||
@@ -621,7 +621,7 @@ weechat_script_get_plugin_config (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
int
|
||||
weechat_script_set_plugin_config (t_weechat_plugin *plugin,
|
||||
weechat_script_set_plugin_config (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *option, char *value)
|
||||
{
|
||||
@@ -648,7 +648,7 @@ weechat_script_set_plugin_config (t_weechat_plugin *plugin,
|
||||
*/
|
||||
|
||||
void
|
||||
weechat_script_set_charset (t_weechat_plugin *plugin,
|
||||
weechat_script_set_charset (struct t_weechat_plugin *plugin,
|
||||
t_plugin_script *script,
|
||||
char *charset)
|
||||
{
|
||||
|
||||
@@ -26,72 +26,80 @@
|
||||
#define SCRIPT_EXEC_INT 1
|
||||
#define SCRIPT_EXEC_STRING 2
|
||||
|
||||
typedef struct t_plugin_script t_plugin_script;
|
||||
|
||||
struct t_plugin_script
|
||||
{
|
||||
/* script variables */
|
||||
char *filename; /* name of script on disk */
|
||||
void *interpreter; /* interpreter for script */
|
||||
char *name; /* script name */
|
||||
char *description; /* plugin description */
|
||||
char *version; /* plugin version */
|
||||
char *shutdown_func; /* function when script is unloaded */
|
||||
char *charset; /* script charset */
|
||||
char *filename; /* name of script on disk */
|
||||
void *interpreter; /* interpreter for script */
|
||||
char *name; /* script name */
|
||||
char *description; /* plugin description */
|
||||
char *version; /* plugin version */
|
||||
char *shutdown_func; /* function when script is unloaded*/
|
||||
char *charset; /* script charset */
|
||||
|
||||
t_plugin_script *prev_script; /* link to previous script */
|
||||
t_plugin_script *next_script; /* link to next script */
|
||||
struct t_plugin_script *prev_script; /* link to previous script */
|
||||
struct t_plugin_script *next_script; /* link to next script */
|
||||
};
|
||||
|
||||
extern void weechat_script_auto_load (t_weechat_plugin *, char *,
|
||||
int (*)(t_weechat_plugin *, char *));
|
||||
extern t_plugin_script *weechat_script_search (t_weechat_plugin *,
|
||||
t_plugin_script **, char *);
|
||||
extern char *weechat_script_search_full_name (t_weechat_plugin *,
|
||||
char *, char *);
|
||||
extern t_plugin_script *weechat_script_add (t_weechat_plugin *,
|
||||
t_plugin_script **, char *, char *,
|
||||
char *, char *, char *, char *);
|
||||
extern void weechat_script_remove (t_weechat_plugin *,
|
||||
t_plugin_script **, t_plugin_script *);
|
||||
extern void weechat_script_print (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, char *, char *, ...);
|
||||
extern void weechat_script_print_server (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, ...);
|
||||
extern void weechat_script_print_infobar (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
int, char *, ...);
|
||||
extern void weechat_script_log (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, char *, char *, ...);
|
||||
extern void weechat_script_exec_command (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, char *, char *);
|
||||
extern void weechat_script_remove_handler (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, char *);
|
||||
extern void weechat_script_remove_timer_handler (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *);
|
||||
extern void weechat_script_remove_keyboard_handler (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *);
|
||||
extern void weechat_script_remove_event_handler (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *);
|
||||
extern void weechat_script_remove_modifier (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, char *, char *);
|
||||
extern char *weechat_script_get_plugin_config (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *);
|
||||
extern int weechat_script_set_plugin_config (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *, char *);
|
||||
extern void weechat_script_set_charset (t_weechat_plugin *,
|
||||
t_plugin_script *,
|
||||
char *);
|
||||
extern void weechat_script_auto_load (struct t_weechat_plugin *plugin, char *language,
|
||||
int (*callback)(void *data, char *filename));
|
||||
extern struct t_plugin_script *weechat_script_search (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script **list,
|
||||
char *name);
|
||||
extern char *weechat_script_search_full_name (struct t_weechat_plugin *plugin,
|
||||
char *language, char *filename);
|
||||
extern struct t_plugin_script *weechat_script_add (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script **script_list,
|
||||
char *filename, char *name,
|
||||
char *version,
|
||||
char *shutdown_func,
|
||||
char *description,
|
||||
char *charset);
|
||||
extern void weechat_script_remove (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script **script_list,
|
||||
struct t_plugin_script *script);
|
||||
extern void weechat_script_print (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *server, char *channel,
|
||||
char *message, ...);
|
||||
extern void weechat_script_print_server (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *message, ...);
|
||||
extern void weechat_script_print_infobar (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
int delay, char *message, ...);
|
||||
extern void weechat_script_log (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *server, char *channel,
|
||||
char *message, ...);
|
||||
extern void weechat_script_exec_command (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *server, char *channel,
|
||||
char *command);
|
||||
extern void weechat_script_remove_handler (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *arg1, char *arg2);
|
||||
extern void weechat_script_remove_timer_handler (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *function);
|
||||
extern void weechat_script_remove_keyboard_handler (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *function);
|
||||
extern void weechat_script_remove_event_handler (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *function);
|
||||
extern void weechat_script_remove_modifier (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *arg1, char *arg2,
|
||||
char *arg3);
|
||||
extern char *weechat_script_get_plugin_config (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *option);
|
||||
extern int weechat_script_set_plugin_config (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *option, char *value);
|
||||
extern void weechat_script_set_charset (struct t_weechat_plugin *plugin,
|
||||
struct t_plugin_script *script,
|
||||
char *charset);
|
||||
|
||||
#endif /* weechat-script.h */
|
||||
|
||||
@@ -217,8 +217,8 @@ c_explode_string (char *string, char *separators, int num_items_max,
|
||||
}
|
||||
|
||||
array =
|
||||
(char **) malloc ((num_items_max ? n_items : n_items + 1) *
|
||||
sizeof (char *));
|
||||
(char **)malloc ((num_items_max ? n_items : n_items + 1) *
|
||||
sizeof (char *));
|
||||
|
||||
ptr1 = string;
|
||||
ptr2 = string;
|
||||
@@ -241,7 +241,7 @@ c_explode_string (char *string, char *separators, int num_items_max,
|
||||
if (ptr2 - ptr1 > 0)
|
||||
{
|
||||
array[i] =
|
||||
(char *) malloc ((ptr2 - ptr1 + 1) * sizeof (char));
|
||||
(char *)malloc ((ptr2 - ptr1 + 1) * sizeof (char));
|
||||
array[i] = strncpy (array[i], ptr1, ptr2 - ptr1);
|
||||
array[i][ptr2 - ptr1] = '\0';
|
||||
ptr1 = ++ptr2;
|
||||
@@ -310,11 +310,11 @@ c_split_multi_command (char *command, char sep)
|
||||
ptr = ++p;
|
||||
}
|
||||
|
||||
array = (char **) malloc ((nb_substr + 1) * sizeof(char *));
|
||||
array = (char **)malloc ((nb_substr + 1) * sizeof(char *));
|
||||
if (!array)
|
||||
return NULL;
|
||||
|
||||
buffer = (char *) malloc ( (strlen(command) + 1) * sizeof (char));
|
||||
buffer = (char *)malloc ((strlen(command) + 1) * sizeof (char));
|
||||
if (!buffer)
|
||||
{
|
||||
free (array);
|
||||
@@ -364,7 +364,7 @@ c_split_multi_command (char *command, char sep)
|
||||
|
||||
free (buffer);
|
||||
|
||||
array = (char **) realloc (array, (arr_idx + 1) * sizeof(char *));
|
||||
array = (char **)realloc (array, (arr_idx + 1) * sizeof(char *));
|
||||
|
||||
return array;
|
||||
}
|
||||
@@ -406,7 +406,7 @@ c_join_string(char **list, char *sep)
|
||||
len += strlen (list[i]);
|
||||
|
||||
len += i*strlen (sep) + 1;
|
||||
str = (char *) malloc (len * sizeof(char));
|
||||
str = (char *)malloc (len * sizeof(char));
|
||||
if (str)
|
||||
{
|
||||
for (i = 0; list[i]; i++)
|
||||
|
||||
@@ -37,7 +37,7 @@ t_weechat_trigger *weechat_trigger_alloc (char *pattern, char *domain, char *com
|
||||
{
|
||||
t_weechat_trigger *new;
|
||||
|
||||
new = (t_weechat_trigger *) malloc (sizeof (t_weechat_trigger));
|
||||
new = (t_weechat_trigger *)malloc (sizeof (t_weechat_trigger));
|
||||
if (new)
|
||||
{
|
||||
new->pattern = strdup (pattern);
|
||||
@@ -725,7 +725,7 @@ weechat_trigger_edit (t_weechat_plugin *plugin, int todo)
|
||||
return -1;
|
||||
|
||||
len = strlen (weechat_dir) + strlen(DIR_SEP) + strlen(CONF_FILE) + 1;
|
||||
triggerrc = (char *) malloc (len * sizeof(char));
|
||||
triggerrc = (char *)malloc (len * sizeof(char));
|
||||
if (!triggerrc)
|
||||
return -1;
|
||||
|
||||
|
||||
+354
-317
@@ -23,6 +23,9 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
struct t_gui_buffer;
|
||||
struct t_weelist;
|
||||
|
||||
/* return codes for plugin functions */
|
||||
#define WEECHAT_RC_ERROR -1 /* function failed with an error */
|
||||
#define WEECHAT_RC_OK 0 /* function ok */
|
||||
@@ -37,6 +40,10 @@
|
||||
#define WEECHAT_RC_WITH_HIGHLIGHT 4 /* ok and ask for highlight */
|
||||
/* (for message handler only) */
|
||||
|
||||
#define WEELIST_POS_SORT "sort"
|
||||
#define WEELIST_POS_BEGINNING "beginning"
|
||||
#define WEELIST_POS_END "end"
|
||||
|
||||
struct t_weechat_plugin
|
||||
{
|
||||
/* plugin variables */
|
||||
@@ -56,163 +63,204 @@ struct t_weechat_plugin
|
||||
existing plugins */
|
||||
|
||||
/* strings */
|
||||
void (*charset_set) (struct t_weechat_plugin *, char *);
|
||||
char *(*iconv_to_internal) (struct t_weechat_plugin *, char *, char *);
|
||||
char *(*iconv_from_internal) (struct t_weechat_plugin *, char *, char *);
|
||||
char *(*gettext) (struct t_weechat_plugin *, char *);
|
||||
char *(*ngettext) (struct t_weechat_plugin *, char *, char *, int);
|
||||
int (*strcasecmp) (struct t_weechat_plugin *, char *, char *);
|
||||
int (*strncasecmp) (struct t_weechat_plugin *, char *, char *, int);
|
||||
char *(*strcasestr) (struct t_weechat_plugin *, char *, char *);
|
||||
char *(*string_replace) (struct t_weechat_plugin *, char *, char *, char *);
|
||||
char **(*string_explode) (struct t_weechat_plugin *, char *, char *, int,
|
||||
int, int *);
|
||||
void (*string_free_exploded) (struct t_weechat_plugin *, char **);
|
||||
char **(*string_split_command) (struct t_weechat_plugin *, char *, char);
|
||||
void (*string_free_splitted_command) (struct t_weechat_plugin *, char **);
|
||||
void (*charset_set) (struct t_weechat_plugin *plugin, char *charset);
|
||||
char *(*iconv_to_internal) (char *charset, char *string);
|
||||
char *(*iconv_from_internal) (char *charset, char *string);
|
||||
char *(*gettext) (char *string);
|
||||
char *(*ngettext) (char *single, char *plural, int count);
|
||||
int (*strcasecmp) (char *string1, char *string2);
|
||||
int (*strncasecmp) (char *string1, char *string2, int max);
|
||||
char *(*strcasestr) (char *string1, char *string2);
|
||||
char *(*string_replace) (char *string, char *search, char *replace);
|
||||
char **(*string_explode) (char *string, char *separators, int keep_eol,
|
||||
int num_items_max, int *num_items);
|
||||
void (*string_free_exploded) (char **exploded_string);
|
||||
char **(*string_split_command) (char *command, char separator);
|
||||
void (*string_free_splitted_command) (char **splitted_command);
|
||||
|
||||
/* UTF-8 strings */
|
||||
int (*utf8_has_8bits) (struct t_weechat_plugin *, char *);
|
||||
int (*utf8_is_valid) (struct t_weechat_plugin *, char *, char **);
|
||||
void (*utf8_normalize) (struct t_weechat_plugin *, char *, char);
|
||||
char *(*utf8_prev_char) (struct t_weechat_plugin *, char *, char *);
|
||||
char *(*utf8_next_char) (struct t_weechat_plugin *, char *);
|
||||
int (*utf8_char_size) (struct t_weechat_plugin *, char *);
|
||||
int (*utf8_strlen) (struct t_weechat_plugin *, char *);
|
||||
int (*utf8_strnlen) (struct t_weechat_plugin *, char *, int);
|
||||
int (*utf8_strlen_screen) (struct t_weechat_plugin *, char *);
|
||||
int (*utf8_charcasecmp) (struct t_weechat_plugin *, char *, char *);
|
||||
int (*utf8_char_size_screen) (struct t_weechat_plugin *, char *);
|
||||
char *(*utf8_add_offset) (struct t_weechat_plugin *, char *, int);
|
||||
int (*utf8_real_pos) (struct t_weechat_plugin *, char *, int);
|
||||
int (*utf8_pos) (struct t_weechat_plugin *, char *, int);
|
||||
int (*utf8_has_8bits) (char *string);
|
||||
int (*utf8_is_valid) (char *string, char **error);
|
||||
void (*utf8_normalize) (char *string, char replacement);
|
||||
char *(*utf8_prev_char) (char *string_start, char *string);
|
||||
char *(*utf8_next_char) (char *string);
|
||||
int (*utf8_char_size) (char *string);
|
||||
int (*utf8_strlen) (char *string);
|
||||
int (*utf8_strnlen) (char *string, int bytes);
|
||||
int (*utf8_strlen_screen) (char *string);
|
||||
int (*utf8_charcasecmp) (char *string1, char *string2);
|
||||
int (*utf8_char_size_screen) (char *string);
|
||||
char *(*utf8_add_offset) (char *string, int offset);
|
||||
int (*utf8_real_pos) (char *string, int pos);
|
||||
int (*utf8_pos) (char *string, int real_pos);
|
||||
|
||||
/* directories */
|
||||
int (*mkdir_home) (struct t_weechat_plugin *, char *, int);
|
||||
int (*mkdir) (struct t_weechat_plugin *, char *, int);
|
||||
void (*exec_on_files) (struct t_weechat_plugin *, char *,
|
||||
int (*)(char *));
|
||||
int (*mkdir_home) (char *directory, int mode);
|
||||
int (*mkdir) (char *directory, int mode);
|
||||
void (*exec_on_files) (char *directory, void *data,
|
||||
int (*callback)(void *data, char *filename));
|
||||
|
||||
/* util */
|
||||
long (*timeval_diff) (struct t_weechat_plugin *, void *, void *);
|
||||
int (*timeval_cmp) (struct timeval *tv1, struct timeval *tv2);
|
||||
long (*timeval_diff) (struct timeval *tv1, struct timeval *tv2);
|
||||
void (*timeval_add) (struct timeval *tv, long interval);
|
||||
|
||||
/* sorted list */
|
||||
struct t_weelist *(*list_new) (struct t_weechat_plugin *);
|
||||
char *(*list_add) (struct t_weechat_plugin *, void *, char *,
|
||||
char *);
|
||||
struct t_weelist_item *(*list_search) (struct t_weechat_plugin *, void *,
|
||||
char *);
|
||||
struct t_weelist_item *(*list_casesearch) (struct t_weechat_plugin *, void *,
|
||||
char *);
|
||||
struct t_weelist_item *(*list_get) (struct t_weechat_plugin *, void *, int);
|
||||
struct t_weelist_item *(*list_next) (struct t_weechat_plugin *, void *);
|
||||
struct t_weelist_item *(*list_prev) (struct t_weechat_plugin *, void *);
|
||||
char *(*list_string) (struct t_weechat_plugin *, void *);
|
||||
int (*list_size) (struct t_weechat_plugin *, void *);
|
||||
void (*list_remove) (struct t_weechat_plugin *, void *, void *);
|
||||
void (*list_remove_all) (struct t_weechat_plugin *, void *);
|
||||
void (*list_free) (struct t_weechat_plugin *, void *);
|
||||
struct t_weelist *(*list_new) ();
|
||||
struct t_weelist_item *(*list_add) (struct t_weelist *weelist, char *data,
|
||||
char *where);
|
||||
struct t_weelist_item *(*list_search) (struct t_weelist *weelist,
|
||||
char *data);
|
||||
struct t_weelist_item *(*list_casesearch) (struct t_weelist *weelist,
|
||||
char *data);
|
||||
struct t_weelist_item *(*list_get) (struct t_weelist *weelist,
|
||||
int position);
|
||||
struct t_weelist_item *(*list_next) (struct t_weelist_item *item);
|
||||
struct t_weelist_item *(*list_prev) (struct t_weelist_item *item);
|
||||
char *(*list_string) (struct t_weelist_item *item);
|
||||
int (*list_size) (struct t_weelist *weelist);
|
||||
void (*list_remove) (struct t_weelist *weelist,
|
||||
struct t_weelist_item *item);
|
||||
void (*list_remove_all) (struct t_weelist *weelist);
|
||||
void (*list_free) (struct t_weelist *weelist);
|
||||
|
||||
/* config files */
|
||||
struct t_config_file *(*config_new) (struct t_weechat_plugin *, char *);
|
||||
struct t_config_section *(*config_new_section) (struct t_weechat_plugin *,
|
||||
void *, char *,
|
||||
void (*)(void *, char *, char *),
|
||||
void (*)(void *, char *),
|
||||
void (*)(void *, char *));
|
||||
struct t_config_section *(*config_search_section) (struct t_weechat_plugin *,
|
||||
void *, char *);
|
||||
struct t_config_option *(*config_new_option) (struct t_weechat_plugin *,
|
||||
void *, char *, char *,
|
||||
char *, char *, int, int,
|
||||
char *, void (*)());
|
||||
struct t_config_option *(*config_search_option) (struct t_weechat_plugin *,
|
||||
void *, void *, char *);
|
||||
int (*config_option_set) (struct t_weechat_plugin *, void *, char *);
|
||||
char (*config_string_to_boolean) (struct t_weechat_plugin *, char *);
|
||||
char (*config_boolean) (struct t_weechat_plugin *, void *);
|
||||
int (*config_integer) (struct t_weechat_plugin *, void *);
|
||||
char *(*config_string) (struct t_weechat_plugin *, void *);
|
||||
int (*config_color) (struct t_weechat_plugin *, void *);
|
||||
int (*config_read) (struct t_weechat_plugin *, void *);
|
||||
int (*config_reload) (struct t_weechat_plugin *, void *);
|
||||
int (*config_write) (struct t_weechat_plugin *, void *);
|
||||
void (*config_write_line) (struct t_weechat_plugin *, void *,
|
||||
char *, char *, ...);
|
||||
void (*config_free) (struct t_weechat_plugin *, void *);
|
||||
struct t_config_option *(*config_get) (struct t_weechat_plugin *, char *);
|
||||
char *(*plugin_config_get) (struct t_weechat_plugin *, char *);
|
||||
int (*plugin_config_set) (struct t_weechat_plugin *, char *, char *);
|
||||
struct t_config_file *(*config_new) (struct t_weechat_plugin *plugin,
|
||||
char *filename);
|
||||
struct t_config_section *(*config_new_section) (struct t_config_file *config_file,
|
||||
char *name,
|
||||
void (*callback_read)
|
||||
(struct t_config_file *config_file,
|
||||
char *option_name,
|
||||
char *value),
|
||||
void (*callback_write)
|
||||
(struct t_config_file *config_file,
|
||||
char *section_name),
|
||||
void (*callback_write_default)
|
||||
(struct t_config_file *config_file,
|
||||
char *section_name));
|
||||
struct t_config_section *(*config_search_section) (struct t_config_file *config_file,
|
||||
char *section_name);
|
||||
struct t_config_option *(*config_new_option) (struct t_config_section *config_file,
|
||||
char *name, char *type,
|
||||
char *description,
|
||||
char *string_values,
|
||||
int min, int max,
|
||||
char *default_value,
|
||||
void (*callback_change)());
|
||||
struct t_config_option *(*config_search_option) (struct t_config_file *config_file,
|
||||
struct t_config_section *section,
|
||||
char *option_name);
|
||||
int (*config_string_to_boolean) (char *text);
|
||||
int (*config_option_set) (struct t_config_option *option, char *new_value,
|
||||
int run_callback);
|
||||
int (*config_boolean) (struct t_config_option *option);
|
||||
int (*config_integer) (struct t_config_option *option);
|
||||
char *(*config_string) (struct t_config_option *option);
|
||||
int (*config_color) (struct t_config_option *option);
|
||||
void (*config_write_line) (struct t_config_file *config_file,
|
||||
char *option_name, char *value, ...);
|
||||
int (*config_write) (struct t_config_file *config_file);
|
||||
int (*config_read) (struct t_config_file *config_file);
|
||||
int (*config_reload) (struct t_config_file *config_file);
|
||||
void (*config_free) (struct t_config_file *config_file);
|
||||
struct t_config_option *(*config_get_weechat) (char *option_name);
|
||||
char *(*config_get_plugin) (struct t_weechat_plugin *plugin,
|
||||
char *option_name);
|
||||
int (*config_set_plugin) (struct t_weechat_plugin *plugin,
|
||||
char *option_name, char *value);
|
||||
|
||||
/* display */
|
||||
char *(*prefix) (struct t_weechat_plugin *, char *);
|
||||
char *(*color) (struct t_weechat_plugin *, char *);
|
||||
void (*printf) (struct t_weechat_plugin *, void *, char *, ...);
|
||||
void (*printf_date) (struct t_weechat_plugin *, void *, time_t,
|
||||
char *, ...);
|
||||
void (*log_printf) (struct t_weechat_plugin *, char *, ...);
|
||||
void (*infobar_printf) (struct t_weechat_plugin *, int, char *,
|
||||
char *, ...);
|
||||
void (*infobar_remove) (struct t_weechat_plugin *, int);
|
||||
char *(*prefix) (char *prefix);
|
||||
char *(*color) (char *color_name);
|
||||
void (*printf_date) (struct t_gui_buffer *buffer, time_t date,
|
||||
char *message, ...);
|
||||
void (*log_printf) (char *message, ...);
|
||||
void (*infobar_printf) (int delay, char *color_name, char *format, ...);
|
||||
void (*infobar_remove) (int how_many);
|
||||
|
||||
/* hooks */
|
||||
struct t_hook *(*hook_command) (struct t_weechat_plugin *, char *, char *,
|
||||
char *, char *, char *,
|
||||
int (*)(void *, void *, int, char **, char **),
|
||||
void *);
|
||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *, long, int, int,
|
||||
int (*)(void *), void *);
|
||||
struct t_hook *(*hook_fd) (struct t_weechat_plugin *, int, int, int, int,
|
||||
int (*)(void *), void *);
|
||||
struct t_hook *(*hook_print) (struct t_weechat_plugin *, void *, char *,
|
||||
int,
|
||||
int (*)(void *, void *, time_t, char *, char *),
|
||||
void *);
|
||||
struct t_hook *(*hook_signal) (struct t_weechat_plugin *, char *,
|
||||
int (*)(void *, char *, void *), void *);
|
||||
void (*hook_signal_send) (struct t_weechat_plugin *, char *, void *);
|
||||
struct t_hook *(*hook_config) (struct t_weechat_plugin *, char *, char *,
|
||||
int (*)(void *, char *, char *, char *),
|
||||
void *);
|
||||
struct t_hook *(*hook_completion) (struct t_weechat_plugin *, char *,
|
||||
int (*)(void *, char *, void *, void *),
|
||||
void *);
|
||||
void (*unhook) (struct t_weechat_plugin *, void *);
|
||||
void (*unhook_all) (struct t_weechat_plugin *);
|
||||
struct t_hook *(*hook_command) (struct t_weechat_plugin *plugin,
|
||||
char *command, char *description,
|
||||
char *args, char *args_description,
|
||||
char *completion,
|
||||
int (*callback)(void *data,
|
||||
struct t_gui_buffer *buffer,
|
||||
int argc, char **argv,
|
||||
char **argv_eol),
|
||||
void *callback_data);
|
||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
long interval, int align_second,
|
||||
int max_calls,
|
||||
int (*callback)(void *data),
|
||||
void *callback_data);
|
||||
struct t_hook *(*hook_fd) (struct t_weechat_plugin *plugin,
|
||||
int fd, int flag_read, int flag_write,
|
||||
int flag_exception,
|
||||
int (*callback)(void *data),
|
||||
void *callback_data);
|
||||
struct t_hook *(*hook_print) (struct t_weechat_plugin *plugin,
|
||||
struct t_gui_buffer *buffer,
|
||||
char *message, int strip_colors,
|
||||
int (*callback)(void *data,
|
||||
struct t_gui_buffer *buffer,
|
||||
time_t date, char *prefix,
|
||||
char *message),
|
||||
void *callback_data);
|
||||
struct t_hook *(*hook_signal) (struct t_weechat_plugin *plugin,
|
||||
char *signal,
|
||||
int (*callback)(void *data, char *signal,
|
||||
void *signal_data),
|
||||
void *callback_data);
|
||||
void (*hook_signal_send) (char *signal, void *signal_data);
|
||||
struct t_hook *(*hook_config) (struct t_weechat_plugin *plugin,
|
||||
char *type, char *option,
|
||||
int (*callback)(void *data, char *type,
|
||||
char *option, char *value),
|
||||
void *callback_data);
|
||||
struct t_hook *(*hook_completion) (struct t_weechat_plugin *plugin,
|
||||
char *completion,
|
||||
int (*callback)(void *data,
|
||||
char *completion,
|
||||
struct t_gui_buffer *buffer,
|
||||
struct t_weelist *list),
|
||||
void *callback_data);
|
||||
void (*unhook) (struct t_hook *hook);
|
||||
void (*unhook_all) (struct t_weechat_plugin *plugin);
|
||||
|
||||
/* buffers */
|
||||
struct t_gui_buffer *(*buffer_new) (struct t_weechat_plugin *,
|
||||
char *, char *,
|
||||
void (*)(struct t_gui_buffer *, char *));
|
||||
struct t_gui_buffer *(*buffer_search) (struct t_weechat_plugin *,
|
||||
char *, char *);
|
||||
void (*buffer_close) (struct t_weechat_plugin *, void *);
|
||||
void *(*buffer_get) (struct t_weechat_plugin *, void *, char *);
|
||||
void (*buffer_set) (struct t_weechat_plugin *, void *, char *, char *);
|
||||
void (*buffer_nick_add) (struct t_weechat_plugin *, void *, char *, int,
|
||||
char *, char, char *);
|
||||
void (*buffer_nick_remove) (struct t_weechat_plugin *, char *);
|
||||
struct t_gui_buffer *(*buffer_new) (struct t_weechat_plugin *plugin,
|
||||
char *category, char *name,
|
||||
void (*callback_input_data)(struct t_gui_buffer *buffer,
|
||||
char *data));
|
||||
struct t_gui_buffer *(*buffer_search) (char *category, char *name);
|
||||
void (*buffer_close) (struct t_gui_buffer *buffer, int switch_to_another);
|
||||
void *(*buffer_get) (struct t_gui_buffer *buffer, char *property);
|
||||
void (*buffer_set) (struct t_gui_buffer *buffer, char *property,
|
||||
char *value);
|
||||
struct t_gui_nick *(*buffer_nick_add) (struct t_gui_buffer *buffer,
|
||||
char *nick, int sort_index,
|
||||
char *color_nick, char prefix,
|
||||
char *color_prefix);
|
||||
int (*buffer_nick_remove) (struct t_gui_buffer *buffer, char *nick);
|
||||
|
||||
/* command */
|
||||
void (*command) (struct t_weechat_plugin *, void *, char *);
|
||||
void (*command) (struct t_weechat_plugin *plugin,
|
||||
struct t_gui_buffer *buffer, char *command);
|
||||
|
||||
/* infos */
|
||||
char *(*info_get) (struct t_weechat_plugin *, char *);
|
||||
char *(*info_get) (struct t_weechat_plugin *plugin, char *info);
|
||||
|
||||
/* infolists */
|
||||
struct t_plugin_infolist *(*infolist_get) (struct t_weechat_plugin *,
|
||||
char *, void *);
|
||||
int (*infolist_next) (struct t_weechat_plugin *, void *);
|
||||
int (*infolist_prev) (struct t_weechat_plugin *, void *);
|
||||
char *(*infolist_fields) (struct t_weechat_plugin *, void *);
|
||||
int (*infolist_integer) (struct t_weechat_plugin *, void *, char *);
|
||||
char *(*infolist_string) (struct t_weechat_plugin *, void *, char *);
|
||||
void *(*infolist_pointer) (struct t_weechat_plugin *, void *, char *);
|
||||
time_t (*infolist_time) (struct t_weechat_plugin *, void *, char *);
|
||||
void (*infolist_free) (struct t_weechat_plugin *, void *);
|
||||
|
||||
/* log */
|
||||
void (*log) (struct t_weechat_plugin *, char *, char *, char *, ...);
|
||||
struct t_plugin_infolist *(*infolist_get) (char *name, void *pointer);
|
||||
int (*infolist_next) (struct t_plugin_infolist *infolist);
|
||||
int (*infolist_prev) (struct t_plugin_infolist *infolist);
|
||||
char *(*infolist_fields) (struct t_plugin_infolist *infolist);
|
||||
int (*infolist_integer) (struct t_plugin_infolist *infolist, char *var);
|
||||
char *(*infolist_string) (struct t_plugin_infolist *infolist, char *var);
|
||||
void *(*infolist_pointer) (struct t_plugin_infolist *infolist, char *var);
|
||||
time_t (*infolist_time) (struct t_plugin_infolist *infolist, char *var);
|
||||
void (*infolist_free) (struct t_plugin_infolist *infolist);
|
||||
|
||||
/* WeeChat developers: ALWAYS add new functions at the end */
|
||||
};
|
||||
@@ -222,183 +270,174 @@ struct t_weechat_plugin
|
||||
/* strings */
|
||||
#define weechat_charset_set(__charset) \
|
||||
weechat_plugin->charset_set(weechat_plugin, __charset)
|
||||
#define weechat_iconv_to_internal(__charset, __string) \
|
||||
weechat_plugin->iconv_to_internal(weechat_plugin, \
|
||||
__charset, __string)
|
||||
#define weechat_iconv_from_internal(__charset, __string) \
|
||||
weechat_plugin->iconv_from_internal(weechat_plugin, \
|
||||
__charset, __string)
|
||||
#define weechat_iconv_to_internal(__charset, __string) \
|
||||
weechat_plugin->iconv_to_internal(__charset, __string)
|
||||
#define weechat_iconv_from_internal(__charset, __string) \
|
||||
weechat_plugin->iconv_from_internal(__charset, __string)
|
||||
#ifndef __WEECHAT_H
|
||||
#define _(string) weechat_plugin->gettext(weechat_plugin, string)
|
||||
#define _(string) weechat_plugin->gettext(string)
|
||||
#define N_(string) (string)
|
||||
#define NG_(single,plural,number) \
|
||||
weechat_plugin->ngettext(weechat_plugin, single, plural, number)
|
||||
#define NG_(single,plural,number) \
|
||||
weechat_plugin->ngettext(single, plural, number)
|
||||
#endif
|
||||
#define weechat_strcasecmp(__string1, __string2) \
|
||||
weechat_plugin->strcasecmp(weechat_plugin, __string1, __string2)
|
||||
#define weechat_strncasecmp(__string1, __string2, __max) \
|
||||
weechat_plugin->strncasecmp(weechat_plugin, __string1, \
|
||||
__string2, __max)
|
||||
#define weechat_strcasestr(__string1, __string2) \
|
||||
weechat_plugin->strcasestr(weechat_plugin, __string1, __string2)
|
||||
#define weechat_string_replace(__string1, __search1, __replace1) \
|
||||
weechat_plugin->string_replace(weechat_plugin, __string1, \
|
||||
__search1, __replace1)
|
||||
#define weechat_string_explode(__string1, __separator, __eol, __max, \
|
||||
#define weechat_strcasecmp(__string1, __string2) \
|
||||
weechat_plugin->strcasecmp(__string1, __string2)
|
||||
#define weechat_strncasecmp(__string1, __string2, __max) \
|
||||
weechat_plugin->strncasecmp(__string1, __string2, __max)
|
||||
#define weechat_strcasestr(__string1, __string2) \
|
||||
weechat_plugin->strcasestr(__string1, __string2)
|
||||
#define weechat_string_replace(__string, __search, __replace) \
|
||||
weechat_plugin->string_replace(__string, __search, __replace)
|
||||
#define weechat_string_explode(__string, __separator, __eol, __max, \
|
||||
__num_items) \
|
||||
weechat_plugin->string_explode(weechat_plugin, __string1, \
|
||||
__separator, __eol, __max, \
|
||||
__num_items)
|
||||
#define weechat_string_free_exploded(__array_str) \
|
||||
weechat_plugin->string_free_exploded(weechat_plugin, __array_str)
|
||||
#define weechat_string_split_command(__string1, __separator) \
|
||||
weechat_plugin->string_split_command(weechat_plugin, __string1, \
|
||||
__separator)
|
||||
#define weechat_string_free_splitted_command(__array_str) \
|
||||
weechat_plugin->string_free_splitted_command(weechat_plugin, \
|
||||
__array_str)
|
||||
weechat_plugin->string_explode(__string, __separator, __eol, \
|
||||
__max, __num_items)
|
||||
#define weechat_string_free_exploded(__exploded_string) \
|
||||
weechat_plugin->string_free_exploded(__exploded_string)
|
||||
#define weechat_string_split_command(__command, __separator) \
|
||||
weechat_plugin->string_split_command(__command, __separator)
|
||||
#define weechat_string_free_splitted_command(__splitted_command) \
|
||||
weechat_plugin->string_free_splitted_command(__splitted_command)
|
||||
|
||||
/* UTF-8 strings */
|
||||
#define weechat_utf8_has_8bits(__string) \
|
||||
weechat_plugin->utf8_has_8bits(weechat_plugin, __string)
|
||||
#define weechat_utf8_is_valid(__string, __error) \
|
||||
weechat_plugin->utf8_is_valid(weechat_plugin, __string, __error)
|
||||
#define weechat_utf8_normalize(__string, __char) \
|
||||
weechat_plugin->utf8_normalize(weechat_plugin, __string, __char)
|
||||
#define weechat_utf8_prev_char(__start, __string) \
|
||||
weechat_plugin->utf8_prev_char(weechat_plugin, __start, __string)
|
||||
#define weechat_utf8_next_char(__string) \
|
||||
weechat_plugin->utf8_next_char(weechat_plugin, __string)
|
||||
#define weechat_utf8_char_size(__string) \
|
||||
weechat_plugin->utf8_char_size(weechat_plugin, __string)
|
||||
#define weechat_utf8_strlen(__string) \
|
||||
weechat_plugin->utf8_strlen(weechat_plugin, __string)
|
||||
#define weechat_utf8_strnlen(__string, __bytes) \
|
||||
weechat_plugin->utf8_strnlen(weechat_plugin, __string, __bytes)
|
||||
#define weechat_utf8_strlen_screen(__string) \
|
||||
weechat_plugin->utf8_strlen_screen(weechat_plugin, __string)
|
||||
#define weechat_utf8_charcasecmp(__string) \
|
||||
weechat_plugin->utf8_charcasecmp(weechat_plugin, __string)
|
||||
#define weechat_utf8_char_size_screen(__string) \
|
||||
weechat_plugin->utf8_char_size_screen(weechat_plugin, __string)
|
||||
#define weechat_utf8_add_offset(__string, __offset) \
|
||||
weechat_plugin->utf8_add_offset(weechat_plugin, __string, __offset)
|
||||
#define weechat_utf8_real_pos(__string, __pos) \
|
||||
weechat_plugin->utf8_real_pos(weechat_plugin, __string, __pos)
|
||||
#define weechat_utf8_pos(__string, __real_pos) \
|
||||
weechat_plugin->utf8_pos(weechat_plugin, __string, __real_pos)
|
||||
#define weechat_utf8_has_8bits(__string) \
|
||||
weechat_plugin->utf8_has_8bits(__string)
|
||||
#define weechat_utf8_is_valid(__string, __error) \
|
||||
weechat_plugin->utf8_is_valid(__string, __error)
|
||||
#define weechat_utf8_normalize(__string, __char) \
|
||||
weechat_plugin->utf8_normalize(__string, __char)
|
||||
#define weechat_utf8_prev_char(__start, __string) \
|
||||
weechat_plugin->utf8_prev_char(__start, __string)
|
||||
#define weechat_utf8_next_char(__string) \
|
||||
weechat_plugin->utf8_next_char(__string)
|
||||
#define weechat_utf8_char_size(__string) \
|
||||
weechat_plugin->utf8_char_size(__string)
|
||||
#define weechat_utf8_strlen(__string) \
|
||||
weechat_plugin->utf8_strlen(__string)
|
||||
#define weechat_utf8_strnlen(__string, __bytes) \
|
||||
weechat_plugin->utf8_strnlen(__string, __bytes)
|
||||
#define weechat_utf8_strlen_screen(__string) \
|
||||
weechat_plugin->utf8_strlen_screen(__string)
|
||||
#define weechat_utf8_charcasecmp(__string) \
|
||||
weechat_plugin->utf8_charcasecmp(__string)
|
||||
#define weechat_utf8_char_size_screen(__string) \
|
||||
weechat_plugin->utf8_char_size_screen(__string)
|
||||
#define weechat_utf8_add_offset(__string, __offset) \
|
||||
weechat_plugin->utf8_add_offset(__string, __offset)
|
||||
#define weechat_utf8_real_pos(__string, __pos) \
|
||||
weechat_plugin->utf8_real_pos(__string, __pos)
|
||||
#define weechat_utf8_pos(__string, __real_pos) \
|
||||
weechat_plugin->utf8_pos(__string, __real_pos)
|
||||
|
||||
/* directories */
|
||||
#define weechat_mkdir_home(__directory, __mode) \
|
||||
weechat_plugin->mkdir_home(weechat_plugin, __directory, __mode)
|
||||
#define weechat_mkdir(__directory, __mode) \
|
||||
weechat_plugin->mkdir(weechat_plugin, __directory, __mode)
|
||||
#define weechat_exec_on_files(__directory, __callback) \
|
||||
weechat_plugin->exec_on_files(weechat_plugin, __directory, \
|
||||
__callback)
|
||||
#define weechat_mkdir_home(__directory, __mode) \
|
||||
weechat_plugin->mkdir_home(__directory, __mode)
|
||||
#define weechat_mkdir(__directory, __mode) \
|
||||
weechat_plugin->mkdir(__directory, __mode)
|
||||
#define weechat_exec_on_files(__directory, __data, __callback) \
|
||||
weechat_plugin->exec_on_files(__directory, __data, __callback)
|
||||
|
||||
/* util */
|
||||
#define weechat_timeval_diff(__time1, __time2) \
|
||||
weechat_plugin->timeval_diff(weechat_plugin, __time1, __time2)
|
||||
#define weechat_timeval_cmp(__time1, __time2) \
|
||||
weechat_plugin->timeval_cmp(__time1, __time2)
|
||||
#define weechat_timeval_diff(__time1, __time2) \
|
||||
weechat_plugin->timeval_diff(__time1, __time2)
|
||||
#define weechat_timeval_add(__time, __interval) \
|
||||
weechat_plugin->timeval_add(__time, __interval)
|
||||
|
||||
/* sorted list */
|
||||
#define weechat_list_new() \
|
||||
weechat_plugin->list_new(weechat_plugin)
|
||||
#define weechat_list_add(__list, __string, __sort) \
|
||||
weechat_plugin->list_add(weechat_plugin, __list, __string, __sort)
|
||||
#define weechat_list_search(__list, __string) \
|
||||
weechat_plugin->list_search(weechat_plugin, __list, __string)
|
||||
#define weechat_list_casesearch(__list, __string) \
|
||||
weechat_plugin->list_casesearch(weechat_plugin, __list, __string)
|
||||
#define weechat_list_get(__list, __index) \
|
||||
weechat_plugin->list_get(weechat_plugin, __list, __index)
|
||||
#define weechat_list_next(__item) \
|
||||
weechat_plugin->list_next(weechat_plugin, __item)
|
||||
#define weechat_list_prev(__item) \
|
||||
weechat_plugin->list_prev(weechat_plugin, __item)
|
||||
#define weechat_list_string(__item) \
|
||||
weechat_plugin->list_string(weechat_plugin, __item)
|
||||
#define weechat_list_size(__list) \
|
||||
weechat_plugin->list_size(weechat_plugin, __list)
|
||||
#define weechat_list_remove(__list, __item) \
|
||||
weechat_plugin->list_remove(weechat_plugin, __list, __item)
|
||||
#define weechat_list_remove_all(__list) \
|
||||
weechat_plugin->list_remove_all(weechat_plugin, __list)
|
||||
#define weechat_list_free(__list) \
|
||||
weechat_plugin->list_free(weechat_plugin, __list)
|
||||
weechat_plugin->list_new()
|
||||
#define weechat_list_add(__list, __string, __where) \
|
||||
weechat_plugin->list_add(__list, __string, __where)
|
||||
#define weechat_list_search(__list, __string) \
|
||||
weechat_plugin->list_search(__list, __string)
|
||||
#define weechat_list_casesearch(__list, __string) \
|
||||
weechat_plugin->list_casesearch(__list, __string)
|
||||
#define weechat_list_get(__list, __index) \
|
||||
weechat_plugin->list_get(__list, __index)
|
||||
#define weechat_list_next(__item) \
|
||||
weechat_plugin->list_next(__item)
|
||||
#define weechat_list_prev(__item) \
|
||||
weechat_plugin->list_prev(__item)
|
||||
#define weechat_list_string(__item) \
|
||||
weechat_plugin->list_string(__item)
|
||||
#define weechat_list_size(__list) \
|
||||
weechat_plugin->list_size(__list)
|
||||
#define weechat_list_remove(__list, __item) \
|
||||
weechat_plugin->list_remove(__list, __item)
|
||||
#define weechat_list_remove_all(__list) \
|
||||
weechat_plugin->list_remove_all(__list)
|
||||
#define weechat_list_free(__list) \
|
||||
weechat_plugin->list_free(__list)
|
||||
|
||||
/* config files */
|
||||
#define weechat_config_new(__filename) \
|
||||
weechat_plugin->config_new(weechat_plugin, __filename)
|
||||
#define weechat_config_new_section(__config, __name, __cb_read, \
|
||||
__cb_write_std, __cb_write_def) \
|
||||
weechat_plugin->config_new_section(weechat_plugin, \
|
||||
__config, __name, __cb_read, \
|
||||
weechat_plugin->config_new_section(__config, __name, __cb_read, \
|
||||
__cb_write_std, __cb_write_def)
|
||||
#define weechat_config_search_section(__config, __name) \
|
||||
weechat_plugin->config_search_section(weechat_plugin, \
|
||||
__config, __name)
|
||||
#define weechat_config_search_section(__config, __name) \
|
||||
weechat_plugin->config_search_section(__config, __name)
|
||||
#define weechat_config_new_option(__section, __name, __type, __desc, \
|
||||
__string_values, __min, __max, \
|
||||
__default, __callback) \
|
||||
weechat_plugin->config_new_option(weechat_plugin, \
|
||||
__section, __name, __type, \
|
||||
weechat_plugin->config_new_option(__section, __name, __type, \
|
||||
__desc, __string_values, \
|
||||
__min, __max, __default, \
|
||||
__callback)
|
||||
#define weechat_config_search_option(__config, __section, __name) \
|
||||
weechat_plugin->config_search_option(weechat_plugin, \
|
||||
__config, __section, __name)
|
||||
#define weechat_config_option_set(__option, __value) \
|
||||
weechat_plugin->config_option_set(weechat_plugin, __option, \
|
||||
__value)
|
||||
#define weechat_config_string_to_boolean(__string) \
|
||||
weechat_plugin->config_string_to_boolean(weechat_plugin, __string)
|
||||
#define weechat_config_boolean(__option) \
|
||||
weechat_plugin->config_boolean(weechat_plugin, __option)
|
||||
#define weechat_config_integer(__option) \
|
||||
weechat_plugin->config_integer(weechat_plugin, __option)
|
||||
#define weechat_config_string(__option) \
|
||||
weechat_plugin->config_string(weechat_plugin, __option)
|
||||
#define weechat_config_color(__option) \
|
||||
weechat_plugin->config_color(weechat_plugin, __option)
|
||||
#define weechat_config_read(__config) \
|
||||
weechat_plugin->config_read(weechat_plugin, __config)
|
||||
#define weechat_config_reload(__config) \
|
||||
weechat_plugin->config_reload(weechat_plugin, __config)
|
||||
#define weechat_config_write(__config) \
|
||||
weechat_plugin->config_write(weechat_plugin, __config)
|
||||
#define weechat_config_search_option(__config, __section, __name) \
|
||||
weechat_plugin->config_search_option(__config, __section, __name)
|
||||
#define weechat_config_string_to_boolean(__string) \
|
||||
weechat_plugin->config_string_to_boolean(__string)
|
||||
#define weechat_config_option_set(__option, __value, __run_callback) \
|
||||
weechat_plugin->config_option_set(__option, __value, \
|
||||
__run_callback)
|
||||
#define weechat_config_boolean(__option) \
|
||||
weechat_plugin->config_boolean(__option)
|
||||
#define weechat_config_integer(__option) \
|
||||
weechat_plugin->config_integer(__option)
|
||||
#define weechat_config_string(__option) \
|
||||
weechat_plugin->config_string(__option)
|
||||
#define weechat_config_color(__option) \
|
||||
weechat_plugin->config_color(__option)
|
||||
#define weechat_config_write_line(__config, __option, \
|
||||
__value...) \
|
||||
weechat_plugin->config_write_line(weechat_plugin, \
|
||||
__config, __option, \
|
||||
weechat_plugin->config_write_line(__config, __option, \
|
||||
##__value)
|
||||
#define weechat_config_free(__config) \
|
||||
weechat_plugin->config_free(weechat_plugin, __config)
|
||||
#define weechat_config_get(__option) \
|
||||
weechat_plugin->config_get(weechat_plugin, __option)
|
||||
#define weechat_plugin_config_get(__option) \
|
||||
weechat_plugin->plugin_config_get(weechat_plugin, __option)
|
||||
#define weechat_plugin_config_set(__option, __value) \
|
||||
weechat_plugin->plugin_config_set(weechat_plugin, __option, __value)
|
||||
#define weechat_config_write(__config) \
|
||||
weechat_plugin->config_write(__config)
|
||||
#define weechat_config_read(__config) \
|
||||
weechat_plugin->config_read(__config)
|
||||
#define weechat_config_reload(__config) \
|
||||
weechat_plugin->config_reload(__config)
|
||||
#define weechat_config_free(__config) \
|
||||
weechat_plugin->config_free(__config)
|
||||
#define weechat_config_get_weechat(__option) \
|
||||
weechat_plugin->config_get_weechat(__option)
|
||||
#define weechat_config_get_plugin(__option) \
|
||||
weechat_plugin->config_get_plugin(weechat_plugin, __option)
|
||||
#define weechat_config_set_plugin(__option, __value) \
|
||||
weechat_plugin->config_set_plugin(weechat_plugin, __option, __value)
|
||||
|
||||
/* display */
|
||||
#define weechat_prefix(__prefix_name) \
|
||||
weechat_plugin->prefix(weechat_plugin, __prefix_name)
|
||||
#define weechat_color(__color_name) \
|
||||
weechat_plugin->color(weechat_plugin, __color_name)
|
||||
#define weechat_printf(__buffer, __argz...) \
|
||||
weechat_plugin->printf(weechat_plugin, __buffer, ##__argz)
|
||||
#define weechat_printf_date(__buffer, __datetime, __argz...) \
|
||||
weechat_plugin->printf_date(weechat_plugin, __buffer, __datetime, \
|
||||
##__argz)
|
||||
#define weechat_log_printf(__argz...) \
|
||||
weechat_plugin->log_printf(weechat_plugin, ##__argz)
|
||||
#define weechat_infobar_printf(__delay, __color, __argz...) \
|
||||
weechat_plugin->infobar_printf(weechat_plugin, __delay, __color, \
|
||||
#define weechat_prefix(__prefix) \
|
||||
weechat_plugin->prefix(__prefix)
|
||||
#define weechat_color(__color_name) \
|
||||
weechat_plugin->color(__color_name)
|
||||
#define weechat_printf(__buffer, __message, __argz...) \
|
||||
weechat_plugin->printf_date(__buffer, 0, __message, ##__argz)
|
||||
#define weechat_printf_date(__buffer, __date, __message, __argz...) \
|
||||
weechat_plugin->printf_date(__buffer, __date, __message, ##__argz)
|
||||
#define weechat_log_printf(__message, __argz...) \
|
||||
weechat_plugin->log_printf(__message, ##__argz)
|
||||
#define weechat_infobar_printf(__delay, __color_name, __message, \
|
||||
__argz...) \
|
||||
weechat_plugin->infobar_printf(__delay, __color_name, __message, \
|
||||
##__argz)
|
||||
#define weechat_infobar_remove(__number) \
|
||||
weechat_plugin->infobar_remove(weechat_plugin, __number)
|
||||
#define weechat_infobar_remove(__how_many) \
|
||||
weechat_plugin->infobar_remove(__how_many)
|
||||
|
||||
/* hooks */
|
||||
#define weechat_hook_command(__command, __description, __args, \
|
||||
@@ -425,34 +464,32 @@ struct t_weechat_plugin
|
||||
weechat_plugin->hook_signal(weechat_plugin, __signal, __callback, \
|
||||
__data)
|
||||
#define weechat_hook_signal_send(__signal, __pointer) \
|
||||
weechat_plugin->hook_signal_send(weechat_plugin, __signal, \
|
||||
__pointer)
|
||||
weechat_plugin->hook_signal_send(__signal, __pointer)
|
||||
#define weechat_hook_config(__type, __option, __callback, __data) \
|
||||
weechat_plugin->hook_config(weechat_plugin, __type, __option, \
|
||||
__callback, __data)
|
||||
#define weechat_hook_completion(__completion, __callback, __data) \
|
||||
weechat_plugin->hook_completion(weechat_plugin, __completion, \
|
||||
__callback, __data)
|
||||
#define weechat_unhook(__hook) \
|
||||
weechat_plugin->unhook(weechat_plugin, __hook)
|
||||
#define weechat_unhook_all() \
|
||||
weechat_plugin->unhook(weechat_plugin)
|
||||
#define weechat_unhook(__hook) \
|
||||
weechat_plugin->unhook( __hook)
|
||||
#define weechat_unhook_all() \
|
||||
weechat_plugin->unhook_all_plugin(weechat_plugin)
|
||||
|
||||
/* buffers */
|
||||
#define weechat_buffer_new(__category, __name, __input_data_cb) \
|
||||
#define weechat_buffer_new(__category, __name, __callback_input_data) \
|
||||
weechat_plugin->buffer_new(weechat_plugin, __category, __name, \
|
||||
__input_data_cb)
|
||||
#define weechat_buffer_search(__category, __name) \
|
||||
weechat_plugin->buffer_search(weechat_plugin, __category, __name)
|
||||
#define weechat_current_buffer \
|
||||
weechat_plugin->buffer_search(weechat_plugin, NULL, NULL)
|
||||
#define weechat_buffer_close(__buffer) \
|
||||
weechat_plugin->buffer_close(weechat_plugin, __buffer)
|
||||
#define weechat_buffer_get(__buffer, __property) \
|
||||
weechat_plugin->buffer_get(weechat_plugin, __buffer, __property)
|
||||
#define weechat_buffer_set(__buffer, __property, __value) \
|
||||
weechat_plugin->buffer_set(weechat_plugin, __buffer, __property, \
|
||||
__value)
|
||||
__callback_input_data)
|
||||
#define weechat_buffer_search(__category, __name) \
|
||||
weechat_plugin->buffer_search(__category, __name)
|
||||
#define weechat_current_buffer \
|
||||
weechat_plugin->buffer_search(NULL, NULL)
|
||||
#define weechat_buffer_close(__buffer, __switch_to_another) \
|
||||
weechat_plugin->buffer_close(__buffer, __switch_to_another)
|
||||
#define weechat_buffer_get(__buffer, __property) \
|
||||
weechat_plugin->buffer_get(__buffer, __property)
|
||||
#define weechat_buffer_set(__buffer, __property, __value) \
|
||||
weechat_plugin->buffer_set(__buffer, __property, __value)
|
||||
|
||||
/* command */
|
||||
#define weechat_command(__buffer, __command) \
|
||||
@@ -463,23 +500,23 @@ struct t_weechat_plugin
|
||||
weechat_plugin->info_get(weechat_plugin, __name)
|
||||
|
||||
/* infolists */
|
||||
#define weechat_infolist_get(__name, __pointer) \
|
||||
weechat_plugin->infolist_get(weechat_plugin, __name, __pointer)
|
||||
#define weechat_infolist_next(__list) \
|
||||
weechat_plugin->infolist_next(weechat_plugin, __list)
|
||||
#define weechat_infolist_prev(__list) \
|
||||
weechat_plugin->infolist_prev(weechat_plugin, __list)
|
||||
#define weechat_infolist_fields(__list) \
|
||||
weechat_plugin->infolist_fields(weechat_plugin, __list)
|
||||
#define weechat_infolist_integer(__item, __var) \
|
||||
weechat_plugin->infolist_integer(weechat_plugin, __item, __var)
|
||||
#define weechat_infolist_string(__item, __var) \
|
||||
weechat_plugin->infolist_string(weechat_plugin, __item, __var)
|
||||
#define weechat_infolist_pointer(__item, __var) \
|
||||
weechat_plugin->infolist_pointer(weechat_plugin, __item, __var)
|
||||
#define weechat_infolist_time(__item, __var) \
|
||||
weechat_plugin->infolist_time(weechat_plugin, __item, __var)
|
||||
#define weechat_infolist_free(__list) \
|
||||
weechat_plugin->infolist_free(weechat_plugin, __list)
|
||||
#define weechat_infolist_get(__name, __pointer) \
|
||||
weechat_plugin->infolist_get(__name, __pointer)
|
||||
#define weechat_infolist_next(__list) \
|
||||
weechat_plugin->infolist_next(__list)
|
||||
#define weechat_infolist_prev(__list) \
|
||||
weechat_plugin->infolist_prev(__list)
|
||||
#define weechat_infolist_fields(__list) \
|
||||
weechat_plugin->infolist_fields(__list)
|
||||
#define weechat_infolist_integer(__item, __var) \
|
||||
weechat_plugin->infolist_integer(__item, __var)
|
||||
#define weechat_infolist_string(__item, __var) \
|
||||
weechat_plugin->infolist_string(__item, __var)
|
||||
#define weechat_infolist_pointer(__item, __var) \
|
||||
weechat_plugin->infolist_pointer(__item, __var)
|
||||
#define weechat_infolist_time(__item, __var) \
|
||||
weechat_plugin->infolist_time(__item, __var)
|
||||
#define weechat_infolist_free(__list) \
|
||||
weechat_plugin->infolist_free(__list)
|
||||
|
||||
#endif /* weechat-plugin.h */
|
||||
|
||||
Reference in New Issue
Block a user