mirror of
https://github.com/weechat/weechat.git
synced 2026-07-06 17:53:13 +02:00
core: many improvements on hdata
New features: - add optional hdata name for variables in hdata - add plugin API functions: hdata_get_var_hdata - use hashtable to store hdata (created by WeeChat and plugins) - free hdata and infolists created by plugin on plugin unload - free all hdata on exit - add "free" option to command /debug hdata - remove hdata for hooks
This commit is contained in:
@@ -40,10 +40,6 @@
|
||||
#include "irc-input.h"
|
||||
|
||||
|
||||
struct t_hdata *irc_channel_hdata_channel = NULL;
|
||||
struct t_hdata *irc_channel_hdata_channel_speaking = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* irc_channel_valid: check if a channel pointer exists for a server
|
||||
* return 1 if channel exists
|
||||
@@ -849,40 +845,36 @@ irc_channel_hdata_channel_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_channel_hdata_channel)
|
||||
return irc_channel_hdata_channel;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_channel", "next_channel");
|
||||
if (hdata)
|
||||
{
|
||||
irc_channel_hdata_channel = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, type, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, name, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, topic, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, modes, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, limit, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, key, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, checking_away, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, away_message, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, has_quit_server, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, cycle, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, part, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, display_creation_date, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nick_completion_reset, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, pv_remote_nick_color, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, hook_autorejoin, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_count, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, last_nick, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_speaking, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_speaking_time, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, last_nick_speaking_time, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, buffer, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, buffer_as_string, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, prev_channel, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, next_channel, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, type, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, name, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, topic, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, modes, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, limit, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, key, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, checking_away, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, away_message, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, has_quit_server, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, cycle, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, part, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, display_creation_date, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nick_completion_reset, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, pv_remote_nick_color, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, hook_autorejoin, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_count, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks, POINTER, "irc_nick");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, last_nick, POINTER, "irc_nick");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_speaking, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_speaking_time, POINTER, "irc_channel_speaking");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, last_nick_speaking_time, POINTER, "irc_channel_speaking");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, buffer, POINTER, "buffer");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, buffer_as_string, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, prev_channel, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel, next_channel, POINTER, hdata_name);
|
||||
}
|
||||
return irc_channel_hdata_channel;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -897,19 +889,15 @@ irc_channel_hdata_channel_speaking_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_channel_hdata_channel_speaking)
|
||||
return irc_channel_hdata_channel_speaking;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_nick", "next_nick");
|
||||
if (hdata)
|
||||
{
|
||||
irc_channel_hdata_channel_speaking = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, nick, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, time_last_message, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, prev_nick, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, next_nick, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, nick, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, time_last_message, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, prev_nick, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, next_nick, POINTER, hdata_name);
|
||||
}
|
||||
return irc_channel_hdata_channel_speaking;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
struct t_irc_ignore *irc_ignore_list = NULL; /* list of ignore */
|
||||
struct t_irc_ignore *last_irc_ignore = NULL; /* last ignore in list */
|
||||
|
||||
struct t_hdata *irc_ignore_hdata_ignore = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* irc_ignore_valid: check if an ignore pointer exists
|
||||
@@ -316,24 +314,20 @@ irc_ignore_hdata_ignore_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_ignore_hdata_ignore)
|
||||
return irc_ignore_hdata_ignore;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_ignore", "next_ignore");
|
||||
if (hdata)
|
||||
{
|
||||
irc_ignore_hdata_ignore = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, number, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, mask, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, regex_mask, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, server, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, channel, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, prev_ignore, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, next_ignore, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, number, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, mask, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, regex_mask, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, server, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, channel, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, prev_ignore, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_ignore, next_ignore, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_LIST(irc_ignore_list);
|
||||
WEECHAT_HDATA_LIST(last_irc_ignore);
|
||||
}
|
||||
return irc_ignore_hdata_ignore;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -37,9 +37,6 @@
|
||||
#include "irc-channel.h"
|
||||
|
||||
|
||||
struct t_hdata *irc_nick_hdata_nick = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* irc_nick_valid: check if a nick pointer exists for a channel
|
||||
* return 1 if nick exists
|
||||
@@ -943,23 +940,19 @@ irc_nick_hdata_nick_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_nick_hdata_nick)
|
||||
return irc_nick_hdata_nick;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_nick", "next_nick");
|
||||
if (hdata)
|
||||
{
|
||||
irc_nick_hdata_nick = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, name, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, host, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, prefixes, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, prefix, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, away, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, color, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, prev_nick, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, next_nick, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, name, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, host, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, prefixes, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, prefix, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, away, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, color, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, prev_nick, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_nick, next_nick, POINTER, hdata_name);
|
||||
}
|
||||
return irc_nick_hdata_nick;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -43,8 +43,6 @@ struct t_hook *irc_notify_timer_whois = NULL; /* timer for "whois" */
|
||||
/* hsignal for redirected commands */
|
||||
struct t_hook *irc_notify_hsignal = NULL;
|
||||
|
||||
struct t_hdata *irc_notify_hdata_notify = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* irc_notify_valid: check if a notify pointer exists for a server
|
||||
@@ -823,23 +821,19 @@ irc_notify_hdata_notify_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_notify_hdata_notify)
|
||||
return irc_notify_hdata_notify;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_notify", "next_notify");
|
||||
if (hdata)
|
||||
{
|
||||
irc_notify_hdata_notify = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, server, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, nick, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, check_away, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, is_on_server, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, away_message, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, ison_received, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, prev_notify, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, next_notify, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, server, POINTER, "irc_server");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, nick, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, check_away, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, is_on_server, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, away_message, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, ison_received, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, prev_notify, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_notify, next_notify, POINTER, hdata_name);
|
||||
}
|
||||
return irc_notify_hdata_notify;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -37,9 +37,6 @@
|
||||
struct t_irc_redirect_pattern *irc_redirect_patterns = NULL;
|
||||
struct t_irc_redirect_pattern *last_irc_redirect_pattern = NULL;
|
||||
|
||||
struct t_hdata *irc_redirect_hdata_redirect_pattern = NULL;
|
||||
struct t_hdata *irc_redirect_hdata_redirect = NULL;
|
||||
|
||||
/* default redirect patterns */
|
||||
struct t_irc_redirect_pattern irc_redirect_patterns_default[] =
|
||||
{
|
||||
@@ -967,25 +964,21 @@ irc_redirect_hdata_redirect_pattern_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_redirect_hdata_redirect_pattern)
|
||||
return irc_redirect_hdata_redirect_pattern;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_redirect", "next_redirect");
|
||||
if (hdata)
|
||||
{
|
||||
irc_redirect_hdata_redirect_pattern = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, name, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, temp_pattern, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, timeout, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_start, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_stop, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_extra, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, prev_redirect, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, next_redirect, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, name, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, temp_pattern, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, timeout, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_start, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_stop, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_extra, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, prev_redirect, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, next_redirect, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_LIST(irc_redirect_patterns);
|
||||
WEECHAT_HDATA_LIST(last_irc_redirect_pattern);
|
||||
}
|
||||
return irc_redirect_hdata_redirect_pattern;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1000,34 +993,30 @@ irc_redirect_hdata_redirect_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_redirect_hdata_redirect)
|
||||
return irc_redirect_hdata_redirect;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_redirect", "next_redirect");
|
||||
if (hdata)
|
||||
{
|
||||
irc_redirect_hdata_redirect = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, server, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, pattern, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, signal, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, count, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, current_count, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, string, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, timeout, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, command, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, start_time, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_extra, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start_received, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop_received, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_filter, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, output, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, output_size, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, prev_redirect, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, next_redirect, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, server, POINTER, "irc_server");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, pattern, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, signal, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, count, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, current_count, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, string, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, timeout, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, command, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, start_time, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_extra, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start_received, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop_received, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_filter, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, output, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, output_size, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, prev_redirect, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_redirect, next_redirect, POINTER, hdata_name);
|
||||
}
|
||||
return irc_redirect_hdata_redirect;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -65,8 +65,6 @@ struct t_irc_server *last_irc_server = NULL;
|
||||
struct t_irc_message *irc_recv_msgq = NULL;
|
||||
struct t_irc_message *irc_msgq_last_msg = NULL;
|
||||
|
||||
struct t_hdata *irc_server_hdata_server = NULL;
|
||||
|
||||
char *irc_server_option_string[IRC_SERVER_NUM_OPTIONS] =
|
||||
{ "addresses", "proxy", "ipv6",
|
||||
"ssl", "ssl_cert", "ssl_priorities", "ssl_dhkey_size", "ssl_verify",
|
||||
@@ -3949,78 +3947,74 @@ irc_server_hdata_server_cb (void *data, const char *hdata_name)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (irc_server_hdata_server)
|
||||
return irc_server_hdata_server;
|
||||
|
||||
hdata = weechat_hdata_new (hdata_name, "prev_server", "next_server");
|
||||
if (hdata)
|
||||
{
|
||||
irc_server_hdata_server = hdata;
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, name, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, options, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, temp_server, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reloading_from_config, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reloaded_from_config, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, addresses_count, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, addresses_array, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, ports_array, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, index_current_address, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, current_address, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, current_ip, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, current_port, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, sock, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_connect, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_fd, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_connection, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_sasl, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, is_connected, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, ssl_connected, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, name, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, options, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, temp_server, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reloading_from_config, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reloaded_from_config, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, addresses_count, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, addresses_array, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, ports_array, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, index_current_address, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, current_address, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, current_ip, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, current_port, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, sock, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_connect, POINTER, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_fd, POINTER, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_connection, POINTER, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_sasl, POINTER, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, is_connected, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, ssl_connected, INTEGER, NULL);
|
||||
#ifdef HAVE_GNUTLS
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, gnutls_sess, OTHER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, tls_cert, OTHER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, tls_cert_key, OTHER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, gnutls_sess, OTHER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, tls_cert, OTHER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, tls_cert_key, OTHER, NULL);
|
||||
#endif
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, unterminated_message, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nicks_count, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nicks_array, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nick_first_tried, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nick, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nick_modes, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, isupport, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_modes, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_chars, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_delay, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_start, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, command_time, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_join, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, disable_autojoin, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, is_away, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, away_message, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, away_time, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag, INTEGER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag_check_time, OTHER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag_next_check, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag_last_refresh, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, cmd_list_regexp, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_user_message, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_away_check, TIME);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, outqueue, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_outqueue, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, redirects, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_redirect, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, notify_list, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_notify, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, manual_joins, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, buffer, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, buffer_as_string, STRING);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, channels, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_channel, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, prev_server, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, next_server, POINTER);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, unterminated_message, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nicks_count, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nicks_array, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nick_first_tried, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nick, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, nick_modes, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, isupport, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_modes, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_chars, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_delay, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_start, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, command_time, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_join, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, disable_autojoin, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, is_away, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, away_message, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, away_time, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag, INTEGER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag_check_time, OTHER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag_next_check, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, lag_last_refresh, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, cmd_list_regexp, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_user_message, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_away_check, TIME, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, outqueue, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_outqueue, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, redirects, POINTER, "irc_redirect");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_redirect, POINTER, "irc_redirect");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, notify_list, POINTER, "irc_notify");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_notify, POINTER, "irc_notify");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, manual_joins, POINTER, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, buffer, POINTER, "buffer");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, buffer_as_string, STRING, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, channels, POINTER, "irc_channel");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, last_channel, POINTER, "irc_channel");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, prev_server, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, next_server, POINTER, hdata_name);
|
||||
WEECHAT_HDATA_LIST(irc_servers);
|
||||
WEECHAT_HDATA_LIST(last_irc_server);
|
||||
}
|
||||
return irc_server_hdata_server;
|
||||
return hdata;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user