Browse Source

* slowjoin was majorly flawed, it didnt add delay to now.

svn: 373
Bryan Drewery 22 years ago
parent
commit
e0adfd134e
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/mod/channels.mod/channels.c

+ 3 - 3
src/mod/channels.mod/channels.c

@@ -304,7 +304,7 @@ void rebalance_roles()
 /* FIXME: needs more testing */
 /* FIXME: needs more testing */
 static void channels_checkslowjoin() {
 static void channels_checkslowjoin() {
   struct chanset_t *chan;
   struct chanset_t *chan;
-ContextNote("slowpart");
+ContextNote("channels_checkslowjoin");
   for (chan = chanset; chan ; chan = chan->next) {
   for (chan = chanset; chan ; chan = chan->next) {
     /* slowpart */
     /* slowpart */
     if (channel_active(chan) && (chan->channel.parttime) && (chan->channel.parttime < now)) {
     if (channel_active(chan) && (chan->channel.parttime) && (chan->channel.parttime < now)) {
@@ -337,7 +337,7 @@ static void got_sj(int idx, char *code, char *par)
   delay = atoi(par) + now;
   delay = atoi(par) + now;
   chan = findchan_by_dname(chname);
   chan = findchan_by_dname(chname);
   if (chan)
   if (chan)
-    chan->channel.jointime = delay;
+    chan->channel.jointime = ((now + delay) - server_lag);
 }
 }
 
 
 static void got_sp(int idx, char *code, char *par) 
 static void got_sp(int idx, char *code, char *par) 
@@ -350,7 +350,7 @@ static void got_sp(int idx, char *code, char *par)
   delay = atoi(par) + now;
   delay = atoi(par) + now;
   chan = findchan_by_dname(chname);
   chan = findchan_by_dname(chname);
   if (chan)
   if (chan)
-    chan->channel.parttime = delay;
+    chan->channel.parttime = ((now + delay) - server_lag);
 }
 }
 /* got_jn
 /* got_jn
  * We get this when a bot is opped in a +take chan
  * We get this when a bot is opped in a +take chan