added "nowho" parameter to debug userlist and fixed memory leak in DBHelper.c
[NeonServV5.git] / src / cmd_neonserv_access.c
index 5f76d7975ad8808b9f2181420c6753e2c60b0a56..25b2501c96b6008f34424a8a60fe9602e2fa287d 100644 (file)
@@ -1,5 +1,5 @@
-/* cmd_neonserv_access.c - NeonServ v5.2
- * Copyright (C) 2011  Philipp Kreil (pk910)
+/* cmd_neonserv_access.c - NeonServ v5.3
+ * 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
@@ -56,6 +56,10 @@ CMD_BIND(neonserv_cmd_access) {
         struct UserNode *cuser = getUserByNick(argv[0]);
         if(!cuser) {
             cuser = createTempUser(argv[0]);
+            if(!cuser) {
+                reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]);
+                return;
+            }
             cuser->flags |= USERFLAG_ISTMPUSER;
         }
         if(cuser->flags & USERFLAG_ISAUTHED) {
@@ -129,7 +133,7 @@ static void neonserv_cmd_access_async1(struct ClientSocket *client, struct Clien
             else
                 reply(textclient, user, "NS_A_LACKS_ACCESS_BUT_GOD_NICK", auth, chan->name);
         } else
-            reply(textclient, user, "NS_NOT_ON_USERLIST", nick, chan->name);
+            reply(textclient, user, "NS_NOT_ON_USERLIST", (nick ? nick : auth), chan->name);
     } else
         reply(textclient, user, "NS_NOT_ON_USERLIST", (nick ? nick : auth), chan->name);
     if(target && (target->flags & USERFLAG_ISIRCOP))