fixed crash in cmd_recover
[NeonServV5.git] / src / modules / NeonServ.mod / cmd_neonserv_recover.c
index f48a8c5964d7ece5c78a3a9adaa6776a22bb153a..7e8999fb9f3e10d153c6a332b631f5f2b9cae112 100644 (file)
@@ -1,4 +1,4 @@
-/* cmd_neonserv_recover.c - NeonServ v5.3
+/* cmd_neonserv_recover.c - NeonServ v5.4
  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
@@ -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;