-topic by info is either 'nick' or '*account'
+Topic by info is either 'nick' or 'account.users.quakenet.org'
-diff -r cf06941d928b include/channel.h
---- a/include/channel.h Mon Jan 12 15:14:47 2009 +0100
-+++ b/include/channel.h Mon Jan 12 15:31:24 2009 +0100
+See info in whoban.patch
+
+diff -r 98e2da930476 include/channel.h
+--- a/include/channel.h Tue Mar 23 14:38:30 2010 +0100
++++ b/include/channel.h Tue Mar 23 14:39:07 2010 +0100
@@ -285,9 +285,10 @@
struct Mode mode; /**< This channels mode */
unsigned int marker; /**< Channel marker */
char chname[1]; /**< Dynamically allocated string of the
* channel name
*/
-diff -r cf06941d928b ircd/m_burst.c
---- a/ircd/m_burst.c Mon Jan 12 15:14:47 2009 +0100
-+++ b/ircd/m_burst.c Mon Jan 12 15:31:24 2009 +0100
-@@ -369,7 +369,8 @@
+diff -r 98e2da930476 ircd/m_burst.c
+--- a/ircd/m_burst.c Tue Mar 23 14:38:30 2010 +0100
++++ b/ircd/m_burst.c Tue Mar 23 14:39:07 2010 +0100
+@@ -361,7 +361,8 @@
/* clear topic set by netrider (if set) */
if (*chptr->topic) {
*chptr->topic = '\0';
chptr->topic_time = 0;
sendcmdto_channel_butserv_butone(&his, CMD_TOPIC, chptr, NULL, 0,
"%H :%s", chptr, chptr->topic);
-diff -r cf06941d928b ircd/m_check.c
---- a/ircd/m_check.c Mon Jan 12 15:14:47 2009 +0100
-+++ b/ircd/m_check.c Mon Jan 12 15:31:24 2009 +0100
-@@ -380,7 +380,10 @@
- send_reply(sptr, RPL_DATASTR, outbuf);
+diff -r 98e2da930476 ircd/m_check.c
+--- a/ircd/m_check.c Tue Mar 23 14:38:30 2010 +0100
++++ b/ircd/m_check.c Tue Mar 23 14:39:07 2010 +0100
+@@ -378,7 +378,8 @@
+ send_reply(sptr, SND_EXPLICIT | RPL_DATASTR, ": Topic:: %s", chptr->topic);
/* ..set by */
-- ircd_snprintf(sptr, outbuf, sizeof(outbuf), " Set by:: %s", chptr->topic_nick);
-+ ircd_snprintf(sptr, outbuf, sizeof(outbuf), " Set by:: %s%s%s",
-+ chptr->topic_who,
-+ chptr->topic_who_is_account ? "." : "",
-+ chptr->topic_who_is_account ? feature_str(FEAT_HIDDEN_HOST) : "");
- send_reply(sptr, RPL_DATASTR, outbuf);
+- send_reply(sptr, SND_EXPLICIT | RPL_DATASTR, ": Set by:: %s", chptr->topic_nick);
++ send_reply(sptr, SND_EXPLICIT | RPL_DATASTR, ": Set by:: %s%s%s",
++ chptr->topic_who, chptr->topic_who_is_account ? "." : "", chptr->topic_who_is_account ? feature_str(FEAT_HIDDEN_HOST) : "");
- ircd_snprintf(sptr, outbuf, sizeof(outbuf), " Set at:: %s (%Tu)", myctime(chptr->topic_time), chptr->topic_time);
-diff -r cf06941d928b ircd/m_join.c
---- a/ircd/m_join.c Mon Jan 12 15:14:47 2009 +0100
-+++ b/ircd/m_join.c Mon Jan 12 15:31:24 2009 +0100
+ send_reply(sptr, SND_EXPLICIT | RPL_DATASTR, ": Set at:: %s [%Tu]", myctime(chptr->topic_time), chptr->topic_time);
+ }
+diff -r 98e2da930476 ircd/m_join.c
+--- a/ircd/m_join.c Tue Mar 23 14:38:30 2010 +0100
++++ b/ircd/m_join.c Tue Mar 23 14:39:07 2010 +0100
@@ -283,7 +283,10 @@
if (chptr->topic[0]) {
chptr->topic_time);
}
-diff -r cf06941d928b ircd/m_topic.c
---- a/ircd/m_topic.c Mon Jan 12 15:14:47 2009 +0100
-+++ b/ircd/m_topic.c Mon Jan 12 15:31:24 2009 +0100
+diff -r 98e2da930476 ircd/m_topic.c
+--- a/ircd/m_topic.c Tue Mar 23 14:38:30 2010 +0100
++++ b/ircd/m_topic.c Tue Mar 23 14:39:07 2010 +0100
@@ -65,7 +65,10 @@
newtopic=ircd_strncmp(chptr->topic,topic,TOPICLEN)!=0;
/* setting a topic */
chptr->topic_time = ts ? ts : TStime();
/* Fixed in 2.10.11: Don't propagate local topics */
if (!IsLocalChannel(chptr->chname))
-@@ -129,7 +132,10 @@
+@@ -138,7 +141,10 @@
else
{
send_reply(sptr, RPL_TOPIC, chptr->chname, chptr->topic);
chptr->topic_time);
}
}
-diff -r cf06941d928b ircd/s_err.c
---- a/ircd/s_err.c Mon Jan 12 15:14:47 2009 +0100
-+++ b/ircd/s_err.c Mon Jan 12 15:31:24 2009 +0100
+diff -r 98e2da930476 ircd/s_err.c
+--- a/ircd/s_err.c Tue Mar 23 14:38:30 2010 +0100
++++ b/ircd/s_err.c Tue Mar 23 14:39:07 2010 +0100
@@ -698,7 +698,7 @@
/* 332 */
{ RPL_TOPIC, "%s :%s", "332" },