IRC-Operatores are now ignored by Watchdog
[srvx.git] / src / opserv.c
index b4aa0d9f6542641ab97176454fd074271922547c..821125916c8cb4136e59dea6e14fe0468c1eeb38 100644 (file)
@@ -4807,14 +4807,17 @@ static MODCMD_FUNC(cmd_simul)
 {
     struct userNode *target;
     char *line;
-    if(!(target=GetUserH(argv[1]))) {
-        reply("OSMSG_SVSNONICK", argv[1]);
-        return 0;
+    if(argc > 2) {
+               if(!(target=GetUserH(argv[1]))) {
+                       reply("OSMSG_SVSNONICK", argv[1]);
+                       return 0;
+               }
+               line = unsplit_string(argv + 2, argc - 2, NULL);
+               irc_simul(target,line);
+               reply("OSMSG_SIMUL",target->nick,line);
+               return 1;
     }
-    line = unsplit_string(argv + 2, argc - 2, NULL);
-    irc_simul(target,line);
-    reply("OSMSG_SIMUL",target->nick,line);
-    return 1;
+    return 0;
 }
 
 static MODCMD_FUNC(cmd_relay)
@@ -5085,7 +5088,7 @@ init_opserv(const char *nick)
     opserv_define_func("SVSMODE", cmd_svsmode, 800, 0, 3);
     opserv_define_func("SVSNICK", cmd_svsnick, 800, 0, 3);
     opserv_define_func("RELAY", cmd_relay, 800, 0, 0);
-    opserv_define_func("SIMUL", cmd_simul, 999, 0, 2);
+    opserv_define_func("SIMUL", cmd_simul, 999, 0, 3);
     opserv_define_func("TRACE", cmd_trace, 100, 0, 3);
     opserv_define_func("TRACE PRINT", NULL, 0, 0, 0);
     opserv_define_func("TRACE COUNT", NULL, 0, 0, 0);