*push*
[NeonServV5.git] / UserNode.c
index 0e50b58c3b1137ea01a816ff346fbefc5bfbcd24..f6044ceb45701fd10d841994e213192c279b958a 100644 (file)
@@ -21,9 +21,9 @@ int is_valid_nick(const char *nick) {
     return 1;
 }
 
-static int get_nicklist_entry(const char *nick) {
+static int get_nicklist_entry(int nick) {
     int i;
-    char valid_chars = VALID_NICK_CHARS_FIRST;
+    char *valid_chars = VALID_NICK_CHARS_FIRST;
     for(i = 0; i < VALID_NICK_CHARS_FIRST_LEN; i++) {
         if(valid_chars[i] == *nick)
             return i;
@@ -32,7 +32,7 @@ static int get_nicklist_entry(const char *nick) {
 }
 
 struct UserNode* getUserByNick(const char *nick) { //case sensitive
-    int userListIndex = get_nicklist_entry(nick);
+    int userListIndex = get_nicklist_entry(*nick);
     if(userListIndex == -1 || userList[userListIndex] == NULL)
         return NULL;
     struct UserNode *user;
@@ -51,7 +51,7 @@ struct UserNode* searchUserByNick(const char *nick) { //case insensitive
     struct UserNode *user;
 
     //search in the lower case "section"
-    userListIndex = get_nicklist_entry(tolower(nick));
+    userListIndex = get_nicklist_entry(tolower(*nick));
     if(userListIndex != -1 && userList[userListIndex] != NULL) {
         for(user = userList[userListIndex]; user; user = user->next) {
             if(!stricmp(nick, user->nick))
@@ -59,7 +59,7 @@ struct UserNode* searchUserByNick(const char *nick) { //case insensitive
         }
     }
     //search in the upper case "section"
-    userListIndex = get_nicklist_entry(toupper(nick));
+    userListIndex = get_nicklist_entry(toupper(*nick));
     if(userListIndex != -1 && userList[userListIndex] != NULL) {
         for(user = userList[userListIndex]; user; user = user->next) {
             if(!stricmp(nick, user->nick))
@@ -70,14 +70,14 @@ struct UserNode* searchUserByNick(const char *nick) { //case insensitive
 }
 
 struct UserNode* addUser(const char *nick) {
-    int userListIndex = get_nicklist_entry(nick);
+    int userListIndex = get_nicklist_entry(*nick);
     if(userListIndex == -1 || !is_valid_nick(nick))
         return NULL;
     struct UserNode *user = malloc(sizeof(*user));
     if (!user)
     {
         perror("malloc() failed");
-        return;
+        return NULL;
     }
     strcpy(user->nick, nick);
     user->ident[0] = 0;
@@ -96,7 +96,7 @@ int renameUser(struct UserNode* user, const char *new_nick) {
         strcpy(user->nick, new_nick);
         return 1;
     }
-    int userListIndex = get_nicklist_entry(new_nick);
+    int userListIndex = get_nicklist_entry(*new_nick);
     delUser(user, 0);
     strcpy(user->nick, new_nick);
     user->next = userList[userListIndex];
@@ -105,7 +105,7 @@ int renameUser(struct UserNode* user, const char *new_nick) {
 }
 
 void delUser(struct UserNode* user, int freeUser) {
-    int userListIndex = get_nicklist_entry(user->nick);
+    int userListIndex = get_nicklist_entry(user->nick[0]);
     if(userListIndex == -1) return;
     struct UserNode *cuser, *last_user = NULL;
     for(cuser = userList[userListIndex]; cuser; cuser = cuser->next) {