Просмотр исходного кода

* Port [3495] to 1.2.14

svn: 3496
Bryan Drewery 19 лет назад
Родитель
Сommit
0872668bf3
2 измененных файлов с 17 добавлено и 11 удалено
  1. 16 10
      src/mod/irc.mod/cmdsirc.c
  2. 1 1
      src/mod/irc.mod/irc.c

+ 16 - 10
src/mod/irc.mod/cmdsirc.c

@@ -525,15 +525,8 @@ static void cmd_op(int idx, char *par)
 
 }
 
-void mass_mode_request(char *botnick, char *code, char *par)
+static void mass_mode(const char* chname, const char* mode, char *par)
 {
-  char* mode = newsplit(&par);
-
-  if (strlen(mode) > 2 || !strchr("+-", mode[0]))
-    return;
-
-  char* chname = newsplit(&par);
-
   char list[101] = "", buf[2048] = "";
   size_t list_len = 0, buf_len = 0;
 
@@ -570,6 +563,19 @@ void mass_mode_request(char *botnick, char *code, char *par)
   tputs(serv, buf, buf_len);
 }
 
+void mass_request(char *botnick, char *code, char *par)
+{
+  char* mode = newsplit(&par);
+
+  if (strlen(mode) > 2 || !strchr("+-kb", mode[0]))
+    return;
+
+  char* chname = newsplit(&par);
+
+  if (strchr("+-", mode[0]))
+    mass_mode(chname, mode, par);
+}
+
 static void cmd_mmode(int idx, char *par)
 {
   char *mode = newsplit(&par);
@@ -844,7 +850,7 @@ static void cmd_mmode(int idx, char *par)
     if (local)
       simple_snprintf(work, work_size, "%s %s", mode, chan->dname);
     else if (!simul)
-      simple_snprintf(work, work_size, "dp %s %s", mode, chan->dname);
+      simple_snprintf(work, work_size, "mr %s %s", mode, chan->dname);
     else
       work[0] = 0;
 
@@ -885,7 +891,7 @@ static void cmd_mmode(int idx, char *par)
     if (simul)
       dprintf(idx, "%-10s MODE %s %s\n", local ? botname : chanbots[bpos]->nick, mode, work);
     else if (local)
-      mass_mode_request(conf.bot->nick, "dp", work);
+      mass_request(conf.bot->nick, "mr", work);
     else
       putbot(chanbots[bpos]->user->handle, work);
 

+ 1 - 1
src/mod/irc.mod/irc.c

@@ -1613,8 +1613,8 @@ do_nettype()
 }
 
 static cmd_t irc_bot[] = {
-  {"dp", "", (Function) mass_mode_request, NULL, LEAF},
   {"gi", "", (Function) getin_request, NULL, LEAF},
+  {"mr", "", (Function) mass_request, NULL, LEAF},
   {NULL, NULL, NULL, NULL, 0}
 };