diff options
Diffstat (limited to 'extra/dircproxy/1.1.0-less-lag-on-attach.patch')
-rw-r--r-- | extra/dircproxy/1.1.0-less-lag-on-attach.patch | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/extra/dircproxy/1.1.0-less-lag-on-attach.patch b/extra/dircproxy/1.1.0-less-lag-on-attach.patch deleted file mode 100644 index 2eb3998db..000000000 --- a/extra/dircproxy/1.1.0-less-lag-on-attach.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/src/irc_client.c 2005-01-06 02:48:12.964637427 +0100 -+++ b/src/irc_client.c.lessflood 2005-01-06 02:47:50.433376383 +0100 -@@ -1910,13 +1910,34 @@ - /* Recall channel log files, and get channel topic and members from server */ - if (p->channels) { - struct ircchannel *c; -+ unsigned int cnames_length = 0; -+ char *cnames = 0; -+ -+ c = p->channels; -+ while (c) { -+ if (!c->inactive && !c->unjoined) { -+ cnames_length += strlen(c->name) + 1; // +1 to hold comma -+ } -+ -+ c = c->next; -+ } -+ -+ if(cnames_length) -+ { -+ cnames = (char *)malloc(cnames_length + 1); -+ memset(cnames, 0, cnames_length + 1); -+ } - - c = p->channels; - while (c) { - if (!c->inactive && !c->unjoined) { - ircclient_send_selfcmd(p, "JOIN", ":%s", c->name); -- ircserver_send_command(p, "TOPIC", ":%s", c->name); -- ircserver_send_command(p, "NAMES", ":%s", c->name); -+ if(cnames_length) { -+ if(c == p->channels) // first channel in list -+ sprintf(cnames, "%s", c->name); -+ else -+ sprintf(cnames, "%s,%s", cnames, c->name); -+ } - - if (p->conn_class->chan_log_enabled) { - irclog_autorecall(p, c->name); -@@ -1926,6 +1948,13 @@ - - c = c->next; - } -+ -+ if(cnames_length) -+ { -+ ircserver_send_command(p, "TOPIC", ":%s", cnames); -+ ircserver_send_command(p, "NAMES", ":%s", cnames); -+ free(cnames); -+ } - } - - /* Recall private log file */ |