added new multi log system
[NeonServV5.git] / src / modules / NeonServ.mod / event_neonserv_mode.c
index 3194dfd4e8eff248ee1c18b9b349185404e26d47..79264931d1298b08d241547c8c360d2ac131bb0e 100644 (file)
@@ -1,4 +1,4 @@
-/* event_neonserv_mode.c - NeonServ v5.3
+/* event_neonserv_mode.c - NeonServ v5.6
  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
@@ -38,7 +38,7 @@ static void neonserv_event_mode(struct UserNode *user, struct ChanNode *chan, ch
     if(argc) 
         temp_argv = malloc(argc*sizeof(*temp_argv));
     if (!cache || (argc && !temp_argv)) {
-        perror("malloc() failed");
+        printf_log("neonserv", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
         return;
     }
     if(argc) {
@@ -131,6 +131,10 @@ static void neonserv_event_mode_async1(struct ClientSocket *client, struct UserN
                     //someone deopped the bot???
                     if(!neonserv_cmd_mode_botwar_detect(client, user, chan, &botwar_detect_executed))
                                                requestOp(client->user, chan);
+                } else if(modes[i] == 'o' && add && isBot(cuser)) {
+                    //someone opped a bot
+                    if(!neonserv_cmd_mode_botwar_detect(client, user, chan, &botwar_detect_executed))
+                                               module_neonbackup_recover_chan(chan);
                 }
                 if((modes[i] == 'o' || (modes[i] == 'h' && !with_halfops)) && !(add && isBot(cuser))) {
                     if(uaccess < db_canop) {