diff options
Diffstat (limited to 'src/plugins/irc/irc-nick.c')
-rw-r--r-- | src/plugins/irc/irc-nick.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/plugins/irc/irc-nick.c b/src/plugins/irc/irc-nick.c index 322cb10d0..005151db9 100644 --- a/src/plugins/irc/irc-nick.c +++ b/src/plugins/irc/irc-nick.c @@ -22,6 +22,7 @@ */ #include <stdlib.h> +#include <stddef.h> #include <stdio.h> #include <string.h> #include <limits.h> @@ -36,6 +37,9 @@ #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 @@ -928,6 +932,37 @@ irc_nick_color_for_pv (struct t_irc_channel *channel, const char *nickname) } /* + * irc_nick_hdata_nick_cb: return hdata for nick + */ + +struct t_hdata * +irc_nick_hdata_nick_cb (void *data, const char *hdata_name) +{ + struct t_hdata *hdata; + + /* 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); + } + return irc_nick_hdata_nick; +} + +/* * irc_nick_add_to_infolist: add a nick in an infolist * return 1 if ok, 0 if error */ |