X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/105a4985b402b3ab294e3bec1fa75bac75430482..738b5d291eae34c0f7bedfb0a09c16362d99a7d5:/modules/m_tb.c diff --git a/modules/m_tb.c b/modules/m_tb.c index 769f773f..d925b457 100644 --- a/modules/m_tb.c +++ b/modules/m_tb.c @@ -32,8 +32,7 @@ #include "send.h" #include "channel.h" #include "client.h" -#include "common.h" -#include "config.h" +#include "defaults.h" #include "ircd.h" #include "match.h" #include "s_conf.h" @@ -42,8 +41,11 @@ #include "hash.h" #include "s_serv.h" -static int ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); -static int ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static const char tb_desc[] = + "Provides TS6 TB and ETB commands for topic bursting between servers"; + +static void ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); +static void ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); struct Message tb_msgtab = { "TB", 0, 0, 0, 0, @@ -56,7 +58,7 @@ struct Message etb_msgtab = { }; mapi_clist_av1 tb_clist[] = { &tb_msgtab, &etb_msgtab, NULL }; -DECLARE_MODULE_AV2(tb, NULL, NULL, tb_clist, NULL, NULL, NULL, NULL, NULL); +DECLARE_MODULE_AV2(tb, NULL, NULL, tb_clist, NULL, NULL, NULL, NULL, tb_desc); /* m_tb() * @@ -65,7 +67,7 @@ DECLARE_MODULE_AV2(tb, NULL, NULL, tb_clist, NULL, NULL, NULL, NULL, NULL); * parv[3] - optional topicwho/topic * parv[4] - topic */ -static int +static void ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { struct Channel *chptr; @@ -77,7 +79,7 @@ ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, chptr = find_channel(parv[1]); if(chptr == NULL) - return 0; + return; newtopicts = atol(parv[2]); @@ -99,7 +101,7 @@ ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, } if (EmptyString(newtopic)) - return 0; + return; if(chptr->topic == NULL || chptr->topic_time > newtopicts) { @@ -108,10 +110,10 @@ ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, * same topic just drop the message --fl */ if(chptr->topic != NULL && strcmp(chptr->topic, newtopic) == 0) - return 0; + return; set_channel_topic(chptr, newtopic, newtopicwho, newtopicts); - sendto_channel_local(ALL_MEMBERS, chptr, ":%s TOPIC %s :%s", + sendto_channel_local(fakesource_p, ALL_MEMBERS, chptr, ":%s TOPIC %s :%s", fakesource_p->name, chptr->chname, newtopic); sendto_server(client_p, chptr, CAP_TB|CAP_TS6, NOCAPS, ":%s TB %s %ld %s%s:%s", @@ -119,8 +121,6 @@ ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, ConfigChannel.burst_topicwho ? chptr->topic_info : "", ConfigChannel.burst_topicwho ? " " : "", chptr->topic); } - - return 0; } /* ms_etb() @@ -131,7 +131,7 @@ ms_tb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, * parv[4] - topicwho * parv[5] - topic */ -static int +static void ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { struct Channel *chptr; @@ -145,7 +145,7 @@ ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p chptr = find_channel(parv[2]); if(chptr == NULL) - return 0; + return; newtopicts = atol(parv[3]); @@ -177,7 +177,7 @@ ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p if(textchange) { if (IsPerson(fakesource_p)) - sendto_channel_local(ALL_MEMBERS, chptr, + sendto_channel_local(fakesource_p, ALL_MEMBERS, chptr, ":%s!%s@%s TOPIC %s :%s", fakesource_p->name, fakesource_p->username, @@ -185,7 +185,7 @@ ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p chptr->chname, newtopic); else - sendto_channel_local(ALL_MEMBERS, chptr, + sendto_channel_local(fakesource_p, ALL_MEMBERS, chptr, ":%s TOPIC %s :%s", fakesource_p->name, chptr->chname, newtopic); @@ -247,6 +247,4 @@ ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p me.id, chptr->chname, chptr->chname); } } - - return 0; }