1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-09 03:03:12 +02:00

core: add support of arrays in hdata variables

This commit is contained in:
Sebastien Helleu
2012-07-20 18:12:07 +02:00
parent 658013a1e4
commit eab0110732
37 changed files with 1581 additions and 614 deletions
+29 -29
View File
@@ -879,31 +879,31 @@ irc_channel_hdata_channel_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_channel", "next_channel");
if (hdata)
{
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, names_received, INTEGER, 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, 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);
WEECHAT_HDATA_VAR(struct t_irc_channel, type, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, name, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, topic, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, modes, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, limit, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, key, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, names_received, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, checking_away, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, away_message, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, has_quit_server, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, cycle, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, part, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, nick_completion_reset, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, pv_remote_nick_color, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, hook_autorejoin, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_count, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks, POINTER, NULL, "irc_nick");
WEECHAT_HDATA_VAR(struct t_irc_channel, last_nick, POINTER, NULL, "irc_nick");
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_speaking, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, nicks_speaking_time, POINTER, NULL, "irc_channel_speaking");
WEECHAT_HDATA_VAR(struct t_irc_channel, last_nick_speaking_time, POINTER, NULL, "irc_channel_speaking");
WEECHAT_HDATA_VAR(struct t_irc_channel, buffer, POINTER, NULL, "buffer");
WEECHAT_HDATA_VAR(struct t_irc_channel, buffer_as_string, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel, prev_channel, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_channel, next_channel, POINTER, NULL, hdata_name);
}
return hdata;
}
@@ -923,10 +923,10 @@ irc_channel_hdata_channel_speaking_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_nick", "next_nick");
if (hdata)
{
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);
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, nick, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, time_last_message, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, prev_nick, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_channel_speaking, next_nick, POINTER, NULL, hdata_name);
}
return hdata;
}
+7 -7
View File
@@ -321,13 +321,13 @@ irc_ignore_hdata_ignore_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_ignore", "next_ignore");
if (hdata)
{
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_VAR(struct t_irc_ignore, number, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_ignore, mask, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_ignore, regex_mask, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_ignore, server, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_ignore, channel, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_ignore, prev_ignore, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_ignore, next_ignore, POINTER, NULL, hdata_name);
WEECHAT_HDATA_LIST(irc_ignore_list);
WEECHAT_HDATA_LIST(last_irc_ignore);
}
+8 -8
View File
@@ -1010,14 +1010,14 @@ irc_nick_hdata_nick_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_nick", "next_nick");
if (hdata)
{
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);
WEECHAT_HDATA_VAR(struct t_irc_nick, name, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_nick, host, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_nick, prefixes, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_nick, prefix, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_nick, away, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_nick, color, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_nick, prev_nick, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_nick, next_nick, POINTER, NULL, hdata_name);
}
return hdata;
}
+8 -8
View File
@@ -966,14 +966,14 @@ irc_notify_hdata_notify_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_notify", "next_notify");
if (hdata)
{
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);
WEECHAT_HDATA_VAR(struct t_irc_notify, server, POINTER, NULL, "irc_server");
WEECHAT_HDATA_VAR(struct t_irc_notify, nick, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_notify, check_away, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_notify, is_on_server, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_notify, away_message, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_notify, ison_received, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_notify, prev_notify, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_notify, next_notify, POINTER, NULL, hdata_name);
}
return hdata;
}
+28 -28
View File
@@ -978,14 +978,14 @@ irc_redirect_hdata_redirect_pattern_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_redirect", "next_redirect");
if (hdata)
{
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_VAR(struct t_irc_redirect_pattern, name, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, temp_pattern, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, timeout, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_start, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_stop, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, cmd_extra, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, prev_redirect, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_redirect_pattern, next_redirect, POINTER, NULL, hdata_name);
WEECHAT_HDATA_LIST(irc_redirect_patterns);
WEECHAT_HDATA_LIST(last_irc_redirect_pattern);
}
@@ -1007,26 +1007,26 @@ irc_redirect_hdata_redirect_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_redirect", "next_redirect");
if (hdata)
{
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, assigned_to_command, INTEGER, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, start_time, TIME, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start, HASHTABLE, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop, HASHTABLE, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_extra, HASHTABLE, 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, HASHTABLE, 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);
WEECHAT_HDATA_VAR(struct t_irc_redirect, server, POINTER, NULL, "irc_server");
WEECHAT_HDATA_VAR(struct t_irc_redirect, pattern, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, signal, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, count, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, current_count, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, string, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, timeout, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, command, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, assigned_to_command, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, start_time, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start, HASHTABLE, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop, HASHTABLE, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_extra, HASHTABLE, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_start_received, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_stop_received, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, cmd_filter, HASHTABLE, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, output, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, output_size, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_redirect, prev_redirect, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_redirect, next_redirect, POINTER, NULL, hdata_name);
}
return hdata;
}
+63 -63
View File
@@ -4263,71 +4263,71 @@ irc_server_hdata_server_cb (void *data, const char *hdata_name)
hdata = weechat_hdata_new (hdata_name, "prev_server", "next_server");
if (hdata)
{
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);
WEECHAT_HDATA_VAR(struct t_irc_server, name, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, options, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, temp_server, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reloading_from_config, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reloaded_from_config, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, addresses_count, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, addresses_array, STRING, "addresses_count", NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, ports_array, INTEGER, "addresses_count", NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, index_current_address, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, current_address, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, current_ip, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, current_port, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, sock, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, hook_connect, POINTER, NULL, "hook");
WEECHAT_HDATA_VAR(struct t_irc_server, hook_fd, POINTER, NULL, "hook");
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_connection, POINTER, NULL, "hook");
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_sasl, POINTER, NULL, "hook");
WEECHAT_HDATA_VAR(struct t_irc_server, is_connected, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, ssl_connected, INTEGER, NULL, NULL);
#ifdef HAVE_GNUTLS
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);
WEECHAT_HDATA_VAR(struct t_irc_server, gnutls_sess, OTHER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, tls_cert, OTHER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, tls_cert_key, OTHER, NULL, NULL);
#endif
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, nick_max_length, INTEGER, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, casemapping, INTEGER, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, chantypes, STRING, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, chanmodes, 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, HASHTABLE, 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_VAR(struct t_irc_server, unterminated_message, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nicks_count, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nicks_array, STRING, "nicks_count", NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nick_first_tried, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nick, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nick_modes, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, isupport, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_modes, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_chars, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nick_max_length, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, casemapping, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, chantypes, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, chanmodes, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_delay, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_start, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, command_time, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_join, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, disable_autojoin, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, is_away, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, away_message, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, away_time, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, lag, INTEGER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, lag_check_time, OTHER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, lag_next_check, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, lag_last_refresh, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, cmd_list_regexp, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, last_user_message, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, last_away_check, TIME, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, outqueue, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, last_outqueue, POINTER, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, redirects, POINTER, NULL, "irc_redirect");
WEECHAT_HDATA_VAR(struct t_irc_server, last_redirect, POINTER, NULL, "irc_redirect");
WEECHAT_HDATA_VAR(struct t_irc_server, notify_list, POINTER, NULL, "irc_notify");
WEECHAT_HDATA_VAR(struct t_irc_server, last_notify, POINTER, NULL, "irc_notify");
WEECHAT_HDATA_VAR(struct t_irc_server, manual_joins, HASHTABLE, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, buffer, POINTER, NULL, "buffer");
WEECHAT_HDATA_VAR(struct t_irc_server, buffer_as_string, STRING, NULL, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, channels, POINTER, NULL, "irc_channel");
WEECHAT_HDATA_VAR(struct t_irc_server, last_channel, POINTER, NULL, "irc_channel");
WEECHAT_HDATA_VAR(struct t_irc_server, prev_server, POINTER, NULL, hdata_name);
WEECHAT_HDATA_VAR(struct t_irc_server, next_server, POINTER, NULL, hdata_name);
WEECHAT_HDATA_LIST(irc_servers);
WEECHAT_HDATA_LIST(last_irc_server);
}
+13 -11
View File
@@ -740,6 +740,8 @@ plugin_load (const char *filename, int argc, char **argv)
new_plugin->hdata_get_var_offset = &hdata_get_var_offset;
new_plugin->hdata_get_var_type = &hdata_get_var_type;
new_plugin->hdata_get_var_type_string = &hdata_get_var_type_string;
new_plugin->hdata_get_var_array_size = &hdata_get_var_array_size;
new_plugin->hdata_get_var_array_size_string = &hdata_get_var_array_size_string;
new_plugin->hdata_get_var_hdata = &hdata_get_var_hdata;
new_plugin->hdata_get_var = &hdata_get_var;
new_plugin->hdata_get_var_at_offset = &hdata_get_var_at_offset;
@@ -1211,17 +1213,17 @@ plugin_hdata_plugin_cb (void *data, const char *hdata_name)
hdata = hdata_new (NULL, hdata_name, "prev_plugin", "next_plugin");
if (hdata)
{
HDATA_VAR(struct t_weechat_plugin, filename, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, handle, POINTER, NULL);
HDATA_VAR(struct t_weechat_plugin, name, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, description, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, author, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, version, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, license, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, charset, STRING, NULL);
HDATA_VAR(struct t_weechat_plugin, debug, INTEGER, NULL);
HDATA_VAR(struct t_weechat_plugin, prev_plugin, POINTER, hdata_name);
HDATA_VAR(struct t_weechat_plugin, next_plugin, POINTER, hdata_name);
HDATA_VAR(struct t_weechat_plugin, filename, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, handle, POINTER, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, name, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, description, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, author, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, version, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, license, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, charset, STRING, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, debug, INTEGER, NULL, NULL);
HDATA_VAR(struct t_weechat_plugin, prev_plugin, POINTER, NULL, hdata_name);
HDATA_VAR(struct t_weechat_plugin, next_plugin, POINTER, NULL, hdata_name);
HDATA_LIST(weechat_plugins);
HDATA_LIST(last_weechat_plugin);
}
@@ -4851,6 +4851,51 @@ weechat_guile_api_hdata_get_var_type_string (SCM hdata, SCM name)
API_RETURN_STRING(result);
}
/*
* weechat_guile_api_hdata_get_var_array_size: get array size for variable in
* hdata
*/
SCM
weechat_guile_api_hdata_get_var_array_size (SCM hdata, SCM pointer, SCM name)
{
int value;
API_FUNC(1, "hdata_get_var_array_size", API_RETURN_INT(-1));
if (!scm_is_string (hdata) || !scm_is_string (pointer)
|| !scm_is_string (name))
API_WRONG_ARGS(API_RETURN_INT(-1));
value = weechat_hdata_get_var_array_size (API_STR2PTR(scm_i_string_chars (hdata)),
API_STR2PTR(scm_i_string_chars (pointer)),
scm_i_string_chars (name));
API_RETURN_INT(value);
}
/*
* weechat_guile_api_hdata_get_var_array_size_string: get array size for variable
* in hdata (as string)
*/
SCM
weechat_guile_api_hdata_get_var_array_size_string (SCM hdata, SCM pointer,
SCM name)
{
const char *result;
API_FUNC(1, "hdata_get_var_array_size_string", API_RETURN_EMPTY);
if (!scm_is_string (hdata) || !scm_is_string (pointer)
|| !scm_is_string (name))
API_WRONG_ARGS(API_RETURN_EMPTY);
result = weechat_hdata_get_var_array_size_string (API_STR2PTR(scm_i_string_chars (hdata)),
API_STR2PTR(scm_i_string_chars (pointer)),
scm_i_string_chars (name));
API_RETURN_STRING(result);
}
/*
* weechat_guile_api_hdata_get_var_hdata: get hdata for variable in hdata
*/
@@ -5433,6 +5478,8 @@ weechat_guile_api_module_init (void *data)
API_DEF_FUNC(hdata_get, 1);
API_DEF_FUNC(hdata_get_var_offset, 2);
API_DEF_FUNC(hdata_get_var_type_string, 2);
API_DEF_FUNC(hdata_get_var_array_size, 3);
API_DEF_FUNC(hdata_get_var_array_size_string, 3);
API_DEF_FUNC(hdata_get_var_hdata, 2);
API_DEF_FUNC(hdata_get_list, 2);
API_DEF_FUNC(hdata_check_pointer, 3);
+53
View File
@@ -5339,6 +5339,57 @@ weechat_lua_api_hdata_get_var_type_string (lua_State *L)
API_RETURN_STRING(result);
}
/*
* weechat_lua_api_hdata_get_var_array_size: get array size for variable in
* hdata
*/
static int
weechat_lua_api_hdata_get_var_array_size (lua_State *L)
{
const char *hdata, *pointer, *name;
int value;
API_FUNC(1, "hdata_get_var_array_size", API_RETURN_INT(-1));
if (lua_gettop (lua_current_interpreter) < 3)
API_WRONG_ARGS(API_RETURN_INT(-1));
hdata = lua_tostring (lua_current_interpreter, -3);
pointer = lua_tostring (lua_current_interpreter, -2);
name = lua_tostring (lua_current_interpreter, -1);
value = weechat_hdata_get_var_array_size (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_INT(value);
}
/*
* weechat_lua_api_hdata_get_var_array_size_string: get array size for variable
* in hdata (as string)
*/
static int
weechat_lua_api_hdata_get_var_array_size_string (lua_State *L)
{
const char *hdata, *pointer, *name, *result;
API_FUNC(1, "hdata_get_var_array_size_string", API_RETURN_EMPTY);
if (lua_gettop (lua_current_interpreter) < 3)
API_WRONG_ARGS(API_RETURN_EMPTY);
hdata = lua_tostring (lua_current_interpreter, -3);
pointer = lua_tostring (lua_current_interpreter, -2);
name = lua_tostring (lua_current_interpreter, -1);
result = weechat_hdata_get_var_array_size_string (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_STRING(result);
}
/*
* weechat_lua_api_hdata_get_var_hdata: get hdata for variable in hdata
*/
@@ -6352,6 +6403,8 @@ const struct luaL_Reg weechat_lua_api_funcs[] = {
API_DEF_FUNC(hdata_get),
API_DEF_FUNC(hdata_get_var_offset),
API_DEF_FUNC(hdata_get_var_type_string),
API_DEF_FUNC(hdata_get_var_array_size),
API_DEF_FUNC(hdata_get_var_array_size_string),
API_DEF_FUNC(hdata_get_var_hdata),
API_DEF_FUNC(hdata_get_list),
API_DEF_FUNC(hdata_check_pointer),
@@ -5074,6 +5074,57 @@ XS (XS_weechat_api_hdata_get_var_type_string)
API_RETURN_STRING(result);
}
/*
* weechat::hdata_get_var_array_size: get array size for variable in hdata
*/
XS (XS_weechat_api_hdata_get_var_array_size)
{
char *hdata, *pointer, *name;
int value;
dXSARGS;
API_FUNC(1, "hdata_get_var_array_size", API_RETURN_INT(-1));
if (items < 3)
API_WRONG_ARGS(API_RETURN_INT(-1));
hdata = SvPV_nolen (ST (0));
pointer = SvPV_nolen (ST (1));
name = SvPV_nolen (ST (2));
value = weechat_hdata_get_var_array_size (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_INT(value);
}
/*
* weechat::hdata_get_var_array_size_string: get array size for variable in
* hdata (as string)
*/
XS (XS_weechat_api_hdata_get_var_array_size_string)
{
const char *result;
char *hdata, *pointer, *name;
dXSARGS;
API_FUNC(1, "hdata_get_var_array_size_string", API_RETURN_EMPTY);
if (items < 3)
API_WRONG_ARGS(API_RETURN_EMPTY);
hdata = SvPV_nolen (ST (0));
pointer = SvPV_nolen (ST (1));
name = SvPV_nolen (ST (2));
result = weechat_hdata_get_var_array_size_string (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_STRING(result);
}
/*
* weechat::hdata_get_var_hdata: get hdata for variable in hdata
*/
@@ -5696,6 +5747,8 @@ weechat_perl_api_init (pTHX)
API_DEF_FUNC(hdata_get);
API_DEF_FUNC(hdata_get_var_offset);
API_DEF_FUNC(hdata_get_var_type_string);
API_DEF_FUNC(hdata_get_var_array_size);
API_DEF_FUNC(hdata_get_var_array_size_string);
API_DEF_FUNC(hdata_get_var_hdata);
API_DEF_FUNC(hdata_get_list);
API_DEF_FUNC(hdata_check_pointer);
@@ -5264,6 +5264,57 @@ weechat_python_api_hdata_get_var_type_string (PyObject *self, PyObject *args)
API_RETURN_STRING(result);
}
/*
* weechat_python_api_hdata_get_var_array_size: get array size for variable in
* hdata
*/
static PyObject *
weechat_python_api_hdata_get_var_array_size (PyObject *self, PyObject *args)
{
char *hdata, *pointer, *name;
int value;
API_FUNC(1, "hdata_get_var_array_size", API_RETURN_INT(-1));
hdata = NULL;
pointer = NULL;
name = NULL;
if (!PyArg_ParseTuple (args, "sss", &hdata, &pointer, &name))
API_WRONG_ARGS(API_RETURN_INT(-1));
value = weechat_hdata_get_var_array_size (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_INT(value);
}
/*
* weechat_python_api_hdata_get_var_array_size_string: get array size for variable
* in hdata (as string)
*/
static PyObject *
weechat_python_api_hdata_get_var_array_size_string (PyObject *self,
PyObject *args)
{
char *hdata, *pointer, *name;
const char *result;
API_FUNC(1, "hdata_get_var_array_size_string", API_RETURN_EMPTY);
hdata = NULL;
pointer = NULL;
name = NULL;
if (!PyArg_ParseTuple (args, "sss", &hdata, &pointer, &name))
API_WRONG_ARGS(API_RETURN_EMPTY);
result = weechat_hdata_get_var_array_size_string (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_STRING(result);
}
/*
* weechat_python_api_hdata_get_var_hdata: get hdata for variable in hdata
*/
@@ -5872,6 +5923,8 @@ PyMethodDef weechat_python_funcs[] =
API_DEF_FUNC(hdata_get),
API_DEF_FUNC(hdata_get_var_offset),
API_DEF_FUNC(hdata_get_var_type_string),
API_DEF_FUNC(hdata_get_var_array_size),
API_DEF_FUNC(hdata_get_var_array_size_string),
API_DEF_FUNC(hdata_get_var_hdata),
API_DEF_FUNC(hdata_get_list),
API_DEF_FUNC(hdata_check_pointer),
@@ -6040,6 +6040,67 @@ weechat_ruby_api_hdata_get_var_type_string (VALUE class, VALUE hdata,
API_RETURN_STRING(result);
}
/*
* weechat_ruby_api_hdata_get_var_array_size: get array size for variable in hdata
*/
static VALUE
weechat_ruby_api_hdata_get_var_array_size (VALUE class, VALUE hdata, VALUE pointer,
VALUE name)
{
char *c_hdata, *c_pointer, *c_name;
int value;
API_FUNC(1, "hdata_get_var_array_size", API_RETURN_INT(-1));
if (NIL_P (hdata) || NIL_P (pointer) || NIL_P (name))
API_WRONG_ARGS(API_RETURN_INT(-1));
Check_Type (hdata, T_STRING);
Check_Type (pointer, T_STRING);
Check_Type (name, T_STRING);
c_hdata = StringValuePtr (hdata);
c_pointer = StringValuePtr (pointer);
c_name = StringValuePtr (name);
value = weechat_hdata_get_var_array_size (API_STR2PTR(c_hdata),
API_STR2PTR(c_pointer),
c_name);
API_RETURN_INT(value);
}
/*
* weechat_ruby_api_hdata_get_var_array_size_string: get array size for variable
* in hdata (as string)
*/
static VALUE
weechat_ruby_api_hdata_get_var_array_size_string (VALUE class, VALUE hdata,
VALUE pointer, VALUE name)
{
char *c_hdata, *c_pointer, *c_name;
const char *result;
API_FUNC(1, "hdata_get_var_array_size_string", API_RETURN_EMPTY);
if (NIL_P (hdata) || NIL_P (pointer) || NIL_P (name))
API_WRONG_ARGS(API_RETURN_EMPTY);
Check_Type (hdata, T_STRING);
Check_Type (pointer, T_STRING);
Check_Type (name, T_STRING);
c_hdata = StringValuePtr (hdata);
c_pointer = StringValuePtr (pointer);
c_name = StringValuePtr (name);
result = weechat_hdata_get_var_array_size_string (API_STR2PTR(c_hdata),
API_STR2PTR(c_pointer),
c_name);
API_RETURN_STRING(result);
}
/*
* weechat_ruby_api_hdata_get_var_hdata: get hdata for variable in hdata
*/
@@ -6782,6 +6843,8 @@ weechat_ruby_api_init (VALUE ruby_mWeechat)
API_DEF_FUNC(hdata_get, 1);
API_DEF_FUNC(hdata_get_var_offset, 2);
API_DEF_FUNC(hdata_get_var_type_string, 2);
API_DEF_FUNC(hdata_get_var_array_size, 3);
API_DEF_FUNC(hdata_get_var_array_size_string, 3);
API_DEF_FUNC(hdata_get_var_hdata, 2);
API_DEF_FUNC(hdata_get_list, 2);
API_DEF_FUNC(hdata_check_pointer, 3);
+61
View File
@@ -5783,6 +5783,65 @@ weechat_tcl_api_hdata_get_var_type_string (ClientData clientData,
API_RETURN_STRING(result);
}
/*
* weechat_tcl_api_hdata_get_var_array_size: get array_size for variable in
* hdata
*/
static int
weechat_tcl_api_hdata_get_var_array_size (ClientData clientData,
Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[])
{
Tcl_Obj *objp;
char *hdata, *pointer, *name;
int result, i;
API_FUNC(1, "hdata_get_var_array_size", API_RETURN_INT(-1));
if (objc < 4)
API_WRONG_ARGS(API_RETURN_INT(-1));
hdata = Tcl_GetStringFromObj (objv[1], &i);
pointer = Tcl_GetStringFromObj (objv[2], &i);
name = Tcl_GetStringFromObj (objv[3], &i);
result = weechat_hdata_get_var_array_size (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_INT(result);
}
/*
* weechat_tcl_api_hdata_get_var_array_size_string: get array size for variable
* in hdata (as string)
*/
static int
weechat_tcl_api_hdata_get_var_array_size_string (ClientData clientData,
Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[])
{
Tcl_Obj *objp;
char *hdata, *pointer, *name;
const char *result;
int i;
API_FUNC(1, "hdata_get_var_array_size_string", API_RETURN_EMPTY);
if (objc < 4)
API_WRONG_ARGS(API_RETURN_EMPTY);
hdata = Tcl_GetStringFromObj (objv[1], &i);
pointer = Tcl_GetStringFromObj (objv[2], &i);
name = Tcl_GetStringFromObj (objv[3], &i);
result = weechat_hdata_get_var_array_size_string (API_STR2PTR(hdata),
API_STR2PTR(pointer),
name);
API_RETURN_STRING(result);
}
/*
* weechat_tcl_api_hdata_get_var_hdata: get hdata for variable in hdata
*/
@@ -6549,6 +6608,8 @@ void weechat_tcl_api_init (Tcl_Interp *interp)
API_DEF_FUNC(hdata_get);
API_DEF_FUNC(hdata_get_var_offset);
API_DEF_FUNC(hdata_get_var_type_string);
API_DEF_FUNC(hdata_get_var_array_size);
API_DEF_FUNC(hdata_get_var_array_size_string);
API_DEF_FUNC(hdata_get_var_hdata);
API_DEF_FUNC(hdata_get_list);
API_DEF_FUNC(hdata_check_pointer);
+21 -6
View File
@@ -46,7 +46,7 @@ struct timeval;
*/
/* API version (used to check that plugin has same API and can be loaded) */
#define WEECHAT_PLUGIN_API_VERSION "20120709-01"
#define WEECHAT_PLUGIN_API_VERSION "20120720-01"
/* macros for defining plugin infos */
#define WEECHAT_PLUGIN_NAME(__name) \
@@ -834,7 +834,8 @@ struct t_weechat_plugin
const char *hdata_name, const char *var_prev,
const char *var_next);
void (*hdata_new_var) (struct t_hdata *hdata, const char *name, int offset,
int type, const char *hdata_name);
int type, const char *array_size,
const char *hdata_name);
void (*hdata_new_list) (struct t_hdata *hdata, const char *name,
void *pointer);
struct t_hdata *(*hdata_get) (struct t_weechat_plugin *plugin,
@@ -843,6 +844,11 @@ struct t_weechat_plugin
int (*hdata_get_var_type) (struct t_hdata *hdata, const char *name);
const char *(*hdata_get_var_type_string) (struct t_hdata *hdata,
const char *name);
int (*hdata_get_var_array_size) (struct t_hdata *hdata, void *pointer,
const char *name);
const char *(*hdata_get_var_array_size_string) (struct t_hdata *hdata,
void *pointer,
const char *name);
const char *(*hdata_get_var_hdata) (struct t_hdata *hdata,
const char *name);
void *(*hdata_get_var) (struct t_hdata *hdata, void *pointer,
@@ -1589,12 +1595,14 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
weechat_plugin->hdata_new(weechat_plugin, __hdata_name, __var_prev, \
__var_next)
#define weechat_hdata_new_var(__hdata, __name, __offset, __type, \
__hdata_name) \
__array_size, __hdata_name) \
weechat_plugin->hdata_new_var(__hdata, __name, __offset, __type, \
__hdata_name)
#define WEECHAT_HDATA_VAR(__struct, __name, __type, __hdata_name) \
__array_size, __hdata_name)
#define WEECHAT_HDATA_VAR(__struct, __name, __type, __array_size, \
__hdata_name) \
weechat_hdata_new_var (hdata, #__name, offsetof (__struct, __name), \
WEECHAT_HDATA_##__type, __hdata_name)
WEECHAT_HDATA_##__type, __array_size, \
__hdata_name)
#define weechat_hdata_new_list(__hdata, __name, __pointer) \
weechat_plugin->hdata_new_list(__hdata, __name, __pointer)
#define WEECHAT_HDATA_LIST(__name) \
@@ -1607,6 +1615,13 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
weechat_plugin->hdata_get_var_type(__hdata, __name)
#define weechat_hdata_get_var_type_string(__hdata, __name) \
weechat_plugin->hdata_get_var_type_string(__hdata, __name)
#define weechat_hdata_get_var_array_size(__hdata, __pointer, __name) \
weechat_plugin->hdata_get_var_array_size(__hdata, __pointer, \
__name)
#define weechat_hdata_get_var_array_size_string(__hdata, __pointer, \
__name) \
weechat_plugin->hdata_get_var_array_size_string(__hdata, __pointer, \
__name)
#define weechat_hdata_get_var_hdata(__hdata, __name) \
weechat_plugin->hdata_get_var_hdata(__hdata, __name)
#define weechat_hdata_get_var(__hdata, __pointer, __name) \