changed Makefile; build all commands as an own file
[NeonServV5.git] / HandleInfoHandler.c
index 6673552082fd5992faf8bda1af01e8e492585fd9..bda467e8ecfeab6959de34d0bf91d431cea25b73 100644 (file)
@@ -8,8 +8,11 @@
 #define AUTHSERV_NICK "AuthServ"
 
 struct HandleInfoQueueEntry {
+    struct ClientSocket *client;
     void *callback;
     void *data;
+    
+    struct HandleInfoQueueEntry *next;
 };
 
 static struct HandleInfoQueueEntry *first_entry = NULL, *last_entry = NULL;
@@ -63,7 +66,7 @@ void lookup_authname(char *auth, authlookup_callback_t callback, void *data) {
     struct HandleInfoQueueEntry* entry = addHandleInfoQueueEntry(bot);
     entry->callback = callback;
     entry->data = data;
-    putsock(bot, "PRIVMSG " AUTHSERV_NICK " :HANDLEINFO *%s", auth);
+    putsock(bot, "PRIVMSG " AUTHSERV_NICK " :ACCOUNTINFO *%s", auth);
 }
 
 static void recv_notice(struct UserNode *user, struct UserNode *target, char *message) {
@@ -73,29 +76,29 @@ static void recv_notice(struct UserNode *user, struct UserNode *target, char *me
         if(bot->user == target) break;
     }
     if(!bot) return;
-    char *auth;
-    int match = 0, exists = 0;
+    char *auth = NULL;
+    int do_match = 0, exists = 0;
     char *tmp;
     //messages to parse:
     //  Account * has not been registered.
     //  Account information for Skynet:
     if(!match("Account * has not been registered.", message)) {
-        match = 1;
+        do_match = 1;
         tmp = strstr(message, "\002");
         auth = tmp+1;
         tmp = strstr(auth, "\002");
         *tmp = '\0';
     }
     if(!match("Account information for *", message)) {
-        match = 1;
+        do_match = 1;
         exists = 1;
         tmp = strstr(message, "\002");
         auth = tmp+1;
         tmp = strstr(auth, "\002");
         *tmp = '\0';
     }
-    if(match) {
-        struct HandleInfoQueueEntry* entry = getNextHandleInfoQueueEntry(client, 1);
+    if(do_match) {
+        struct HandleInfoQueueEntry* entry = getNextHandleInfoQueueEntry(bot, 1);
         authlookup_callback_t *callback = entry->callback;
         callback(auth, exists, entry->data);
         free(entry);