X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/be9c3979520b196ac324ef25a88b4539183a0dc3..738b5d291eae34c0f7bedfb0a09c16362d99a7d5:/modules/m_tb.c diff --git a/modules/m_tb.c b/modules/m_tb.c index a66dab6b..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,11 +41,12 @@ #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, {mg_unreg, mg_ignore, mg_ignore, {ms_tb, 4}, mg_ignore, mg_ignore} @@ -67,7 +67,7 @@ DECLARE_MODULE_AV2(tb, NULL, NULL, tb_clist, NULL, NULL, NULL, NULL, tb_desc); * 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; @@ -79,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]); @@ -101,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) { @@ -110,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", @@ -121,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() @@ -133,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; @@ -147,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]); @@ -179,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, @@ -187,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); @@ -249,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; }