fixes for multi thread support
[NeonServV5.git] / src / cmd_global_register.c
index 5ede95753dfc3de34c47a1e3ffe2beb603a36445..548860d65053f350ae753bba69bdc182d48d478a 100644 (file)
@@ -1,5 +1,5 @@
 /* cmd_global_register.c - NeonServ v5.3
- * Copyright (C) 2011  Philipp Kreil (pk910)
+ * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -114,6 +114,10 @@ CMD_BIND(global_cmd_register) {
         struct UserNode *cuser = getUserByNick(argv[1]);
         if(!cuser) {
             cuser = createTempUser(argv[1]);
+                       if(!cuser) {
+                reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[1]);
+                return;
+            }
             cuser->flags |= USERFLAG_ISTMPUSER;
         }
         if(cuser->flags & USERFLAG_ISAUTHED) {
@@ -206,7 +210,7 @@ static void global_cmd_register_async1(struct ClientSocket *client, struct Clien
             userid = atoi(row[0]);
         } else {
             printf_mysql_query("INSERT INTO `users` (`user_user`) VALUES ('%s')", escape_string(auth));
-            userid = (int) mysql_insert_id(mysql_conn);
+            userid = (int) mysql_insert_id(get_mysql_conn());
         }
     }
     if(client->botid)
@@ -236,7 +240,7 @@ static void global_cmd_register_async1(struct ClientSocket *client, struct Clien
         printf_mysql_query("UPDATE `channels` SET `channel_registered` = UNIX_TIMESTAMP(), `channel_registrator` = '%d' WHERE `channel_id` = '%d'", adminid, chanid);
     } else {
         printf_mysql_query("INSERT INTO `channels` (`channel_name`, `channel_registered`, `channel_registrator`) VALUES ('%s', UNIX_TIMESTAMP(), '%d')", escape_string(channel), adminid);
-        chanid = (int) mysql_insert_id(mysql_conn);
+        chanid = (int) mysql_insert_id(get_mysql_conn());
     }
     struct ClientSocket *bot;
     for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {