Fix Bahamut assertion failure; move BURST to more "natural" place
[srvx.git] / src / proto-bahamut.c
index 42894749e63cd095b2a0f7c7a2d41b7c2748f062..d79f247e4f0917830eae7c08512fa63db8480544 100644 (file)
@@ -309,11 +309,6 @@ irc_svinfo() {
     putsock("SVINFO 3 3 0 :"FMT_TIME_T, now);
 }
 
-void
-irc_burst() {
-    putsock("BURST");
-}
-
 void
 irc_introduce(const char *passwd) {
     extern time_t burst_begin;
@@ -702,7 +697,6 @@ static CMD_FUNC(cmd_server) {
         AddServer(GetServerH(origin), argv[1], atoi(argv[2]), 0, now, 0, argv[3]);
     } else {
         self->uplink = AddServer(self, argv[1], atoi(argv[2]), 0, now, 0, argv[3]);
-        send_burst();
     }
     return 1;
 }
@@ -711,6 +705,7 @@ static CMD_FUNC(cmd_svinfo) {
     if (argc < 5) return 0;
     if ((atoi(argv[1]) < 3) || (atoi(argv[2]) > 3)) return 0;
     /* TODO: something with the timestamp we get from the other guy */
+    send_burst();
     return 1;
 }
 
@@ -1279,7 +1274,7 @@ mod_chanmode_parse(struct chanNode *channel, char **modes, unsigned int argc, un
             break;
         }
     }
-    change->argc = argc; /* in case any turned out to be ignored */
+    change->argc = ch_arg; /* in case any turned out to be ignored */
     if (change->modes_set & MODE_SECRET) {
         change->modes_set &= ~(MODE_PRIVATE);
         change->modes_clear |= MODE_PRIVATE;