fixed crash in cmd_recover
authorpk910 <philipp@zoelle1.de>
Wed, 28 Mar 2012 13:45:58 +0000 (15:45 +0200)
committerpk910 <philipp@zoelle1.de>
Wed, 28 Mar 2012 13:45:58 +0000 (15:45 +0200)
src/modules/NeonServ.mod/cmd_neonserv_recover.c

index 41ecda2d3a47cb9f85bfeb1d24b4661762d9d210..7e8999fb9f3e10d153c6a332b631f5f2b9cae112 100644 (file)
@@ -28,12 +28,6 @@ CMD_BIND(neonserv_cmd_recover) {
         reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", argv[0]);
         return;
     }
-    printf_mysql_query("SELECT `botid`, `bot_channels`.`id` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, client->botid);
-    res = mysql_use();
-    if ((row = mysql_fetch_row(res)) != NULL) {
-        reply(getTextBot(), user, "NS_REGISTER_ALREADY", argv[0], client->user->nick);
-        return;
-    }
     int chanid;
     printf_mysql_query("SELECT `channel_id` FROM `channels` WHERE `channel_name` = '%s'", escape_string(channel));
     res = mysql_use();
@@ -43,6 +37,12 @@ CMD_BIND(neonserv_cmd_recover) {
         reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick);
         return;
     }
+    printf_mysql_query("SELECT `botid`, `bot_channels`.`id` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chanid, client->botid);
+    res = mysql_use();
+    if ((row = mysql_fetch_row(res)) != NULL) {
+        reply(getTextBot(), user, "NS_REGISTER_ALREADY", argv[0], client->user->nick);
+        return;
+    }
     printf_mysql_query("SELECT `id`, `max_channels`, `defaulttrigger` FROM `bots` WHERE `botclass` = '%d' ORDER BY `register_priority` DESC", client->botid);
     res = mysql_use();
     int botid = 0;