summaryrefslogtreecommitdiff
path: root/src/plugins/irc/irc-nick.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/irc/irc-nick.c')
-rw-r--r--src/plugins/irc/irc-nick.c35
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
*/