tried to reorder the program structure and build process
[NeonServV5.git] / ChanUser.c
diff --git a/ChanUser.c b/ChanUser.c
deleted file mode 100644 (file)
index c31e202..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-
-#include "ChanUser.h"
-#include "ChanNode.h"
-#include "UserNode.h"
-
-struct ChanUser* addChanUser(struct ChanNode *chan, struct UserNode *user) {
-    struct ChanUser *chanuser = malloc(sizeof(*chan));
-    if (!chanuser)
-    {
-        perror("malloc() failed");
-        return NULL;
-    }
-    chanuser->flags = 0;
-    chanuser->user = user;
-    chanuser->chan = chan;
-    
-    chanuser->changeTime = 0;
-
-    chanuser->next_user = chan->user;
-    chan->user = chanuser;
-    chan->usercount++;
-
-    chanuser->next_chan = user->channel;
-    user->channel = chanuser;
-
-    return chanuser;
-}
-
-struct ChanUser* addInvisibleChanUser(struct ChanNode *chan, struct UserNode *user) {
-    struct ChanUser *chanuser = malloc(sizeof(*chan));
-    if (!chanuser)
-    {
-        perror("malloc() failed");
-        return NULL;
-    }
-    chanuser->flags = CHANUSERFLAG_INVISIBLE;
-    chanuser->user = user;
-    chanuser->chan = chan;
-    
-    chanuser->changeTime = 0;
-
-    chanuser->next_user = chan->user;
-    chan->user = chanuser;
-    chan->usercount++;
-
-    return chanuser;
-}
-
-int isUserOnChan(struct UserNode *user, struct ChanNode *chan) {
-    struct ChanUser *chanuser;
-    for(chanuser = user->channel; chanuser; chanuser = chanuser->next_chan) {
-        if(chanuser->chan == chan)
-            return 1;
-    }
-    return 0;
-}
-
-struct ChanUser* getChanUser(struct UserNode *user, struct ChanNode *chan) {
-    struct ChanUser *chanuser;
-    for(chanuser = user->channel; chanuser; chanuser = chanuser->next_chan) {
-        if(chanuser->chan == chan)
-            return chanuser;
-    }
-    return NULL;
-}
-
-struct ChanUser* getChannelUsers(struct ChanNode *chan, struct ChanUser *last) {
-    if(last == NULL)
-        return chan->user;
-    else
-        return last->next_user;
-}
-
-struct ChanUser* getUserChannels(struct UserNode *user, struct ChanUser *last) {
-    if(last == NULL)
-        return user->channel;
-    else
-        return last->next_chan;
-}
-
-void delChanUser(struct ChanUser *chanuser, int freeChanUser) {
-    struct ChanUser *cchanuser, *last;
-    //remove it from the user's channel-list
-    if(!(chanuser->flags & CHANUSERFLAG_INVISIBLE)) {
-        last = NULL;
-        for(cchanuser = chanuser->user->channel; cchanuser; cchanuser = cchanuser->next_chan) {
-            if(cchanuser == chanuser) {
-                if(last) 
-                    last->next_chan = chanuser->next_chan;
-                else
-                    chanuser->user->channel = chanuser->next_chan;
-                break;
-            } else
-                last = cchanuser;
-        }
-    }
-
-    //remove it from the channel's user-list
-    last = NULL;
-    for(cchanuser = chanuser->chan->user; cchanuser; cchanuser = cchanuser->next_user) {
-        if(cchanuser == chanuser) {
-            chanuser->chan->usercount--;
-            if(last) 
-                last->next_user = chanuser->next_user;
-            else
-                chanuser->chan->user = chanuser->next_user;
-            break;
-        } else
-            last = cchanuser;
-    }
-    
-    if(freeChanUser)
-        free(chanuser);
-    else {
-        chanuser->next_chan = NULL;
-        chanuser->next_user = NULL;
-    }
-}
-
-void removeChanUserFromLists(struct ChanUser *chanuser, int remove_from_userlist, int remove_from_channellist, int freeChanUser) {
-    struct ChanUser *cchanuser, *last;
-    if(remove_from_userlist) {
-        //remove it from the channel's user-list
-        last = NULL;
-        for(cchanuser = chanuser->chan->user; cchanuser; cchanuser = cchanuser->next_user) {
-            if(cchanuser == chanuser) {
-                chanuser->chan->usercount--;
-                if(last) 
-                    last->next_user = chanuser->next_user;
-                else
-                    chanuser->chan->user = chanuser->next_user;
-                break;
-            } else
-                last = cchanuser;
-        }
-        chanuser->next_user = NULL;
-    }
-    if(remove_from_channellist) {
-        //remove it from the user's channel-list
-        last = NULL;
-        for(cchanuser = chanuser->user->channel; cchanuser; cchanuser = cchanuser->next_chan) {
-            if(cchanuser == chanuser) {
-                if(last) 
-                    last->next_chan = chanuser->next_chan;
-                else
-                    chanuser->user->channel = chanuser->next_chan;
-                break;
-            } else
-                last = cchanuser;
-        }
-        chanuser->next_chan = NULL;
-    }
-    
-    if(freeChanUser)
-        free(chanuser);
-}
-