diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/protocol/charybdis.c | 12 | ||||
-rw-r--r-- | src/protocol/hybrid.c | 5 | ||||
-rw-r--r-- | src/protocol/inspircd.c | 6 | ||||
-rw-r--r-- | src/protocol/plexus2.c | 6 | ||||
-rw-r--r-- | src/protocol/plexus3.c | 6 | ||||
-rw-r--r-- | src/protocol/ratbox.c | 5 | ||||
-rw-r--r-- | src/protocol/shadowircd.c | 12 |
7 files changed, 52 insertions, 0 deletions
diff --git a/src/protocol/charybdis.c b/src/protocol/charybdis.c index 9a8822b5b..6d16eeec5 100644 --- a/src/protocol/charybdis.c +++ b/src/protocol/charybdis.c @@ -655,6 +655,11 @@ int anope_event_topic(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); } return MOD_CONT; } @@ -701,8 +706,15 @@ int anope_event_tburst(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[3]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[3]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); + if (setter) free(setter); + return MOD_CONT; } diff --git a/src/protocol/hybrid.c b/src/protocol/hybrid.c index 580f1ec8c..05c9dc0d7 100644 --- a/src/protocol/hybrid.c +++ b/src/protocol/hybrid.c @@ -568,6 +568,11 @@ int anope_event_topic(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); } return MOD_CONT; } diff --git a/src/protocol/inspircd.c b/src/protocol/inspircd.c index cb79610b8..6d0f6641b 100644 --- a/src/protocol/inspircd.c +++ b/src/protocol/inspircd.c @@ -1153,6 +1153,12 @@ int anope_event_topic(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); + return MOD_CONT; } diff --git a/src/protocol/plexus2.c b/src/protocol/plexus2.c index 6c7f0f2b8..c4ad300af 100644 --- a/src/protocol/plexus2.c +++ b/src/protocol/plexus2.c @@ -666,6 +666,12 @@ anope_event_topic (char *source, int ac, char **av) c->topic_time = topic_time; record_topic (av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); + } return MOD_CONT; } diff --git a/src/protocol/plexus3.c b/src/protocol/plexus3.c index 745a73a6d..e245414be 100644 --- a/src/protocol/plexus3.c +++ b/src/protocol/plexus3.c @@ -609,6 +609,12 @@ anope_event_topic (char *source, int ac, char **av) c->topic_time = topic_time; record_topic (av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); + } return MOD_CONT; } diff --git a/src/protocol/ratbox.c b/src/protocol/ratbox.c index 3f89c8a1e..e37fd9be7 100644 --- a/src/protocol/ratbox.c +++ b/src/protocol/ratbox.c @@ -646,6 +646,11 @@ int anope_event_topic(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); } return MOD_CONT; } diff --git a/src/protocol/shadowircd.c b/src/protocol/shadowircd.c index c02b70913..cc2b3c16d 100644 --- a/src/protocol/shadowircd.c +++ b/src/protocol/shadowircd.c @@ -685,6 +685,11 @@ int anope_event_topic(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[1]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[1]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); } return MOD_CONT; } @@ -731,8 +736,15 @@ int anope_event_tburst(char *source, int ac, char **av) c->topic_time = topic_time; record_topic(av[0]); + + if (ac > 1 && *av[3]) + send_event(EVENT_TOPIC_UPDATED, 2, av[0], av[3]); + else + send_event(EVENT_TOPIC_UPDATED, 2, av[0], ""); + if (setter) free(setter); + return MOD_CONT; } |