--- ./channel.c 2003-09-23 20:41:41.000000000 +0200 +++ ../../Unreal3.2/src/channel.c.modified 2003-10-24 15:57:27.000000000 +0200 @@ -4149,6 +4149,9 @@ * some services do this in their topic enforcement -- codemastr */ { + /* we need this to search through the chained list and send the topic setter message to each client. */ + Member *lp; + /* setting a topic */ topiClen = strlen(topic); nicKlen = strlen(tnick); @@ -4179,9 +4182,16 @@ chptr->chname, chptr->topic_nick, chptr->topic_time, chptr->topic); sendto_channel_butserv(chptr, sptr, - ":%s TOPIC %s :%s (%s)", parv[0], - chptr->chname, chptr->topic, - chptr->topic_nick); + ":%s TOPIC %s :%s", parv[0], + chptr->chname, chptr->topic); + + for(lp = chptr->members; lp; lp = lp->next) + { + sendto_one(lp->cptr, + rpl_str(RPL_TOPICWHOTIME), me.name, + lp->cptr->name, chptr->chname, + chptr->topic_nick, chptr->topic_time); + } } } else if (((chptr->mode.mode & MODE_TOPICLIMIT) == 0 ||