X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=main.c;h=2fcc3dbec18349f0feae58657adb0cb8422dc1d1;hb=795115bf680185ae01043bd1222b78bfed8c1d87;hp=77a887521d0af0a9c0c74b05d0547ec6bc0b9d58;hpb=54f70a7e7d874c8b7ce0622b08cd62b594da5afb;p=NeonServV5.git diff --git a/main.c b/main.c index 77a8875..2fcc3db 100644 --- a/main.c +++ b/main.c @@ -2,29 +2,93 @@ #include "main.h" #include "ClientSocket.h" #include "UserNode.h" - -//all c files - so we don't need a big Makefile right now :D -#include "ClientSocket.c" -#include "IRCParser.c" -#include "UserNode.c" - -#include "ChanUser.h" #include "ChanNode.h" +#include "IRCEvents.h" +#include "IRCParser.h" +#include "modcmd.h" +#include "WHOHandler.h" +#include "bots.h" +#include "mysqlConn.h" +#include "HandleInfoHandler.h" +#include "lang.h" +#include "tools.h" +#include "timeq.h" +#include "EventLogger.h" +#include "ModeNode.h" + +time_t start_time; -void just_test_it() { - struct UserNode *user = addUser("TestBot"); - strcpy(user->ident, "test"); - strcpy(user->realname, "testUser!"); - user->flags |= USERFLAG_ISBOT; - create_socket("pk910.de", 6667, NULL, user); +void cleanup() { + free_sockets(); + free_parser(); + free_UserNode(); + free_ChanNode(); + free_bind(); + free_modcmd(); + free_whoqueue(); + free_bots(); + free_mysql(); + free_handleinfohandler(); + free_lang(); } int main(void) { - parser_init(); + start_time = time(0); + + init_mysql(); + init_lang(); + init_parser(); init_UserNode(); - just_test_it(); + init_ChanNode(); + init_ModeNode(); + init_bind(); + init_modcmd(); + init_handleinfohandler(); + init_tools(); + init_bots(); + + load_languages(); + + time_t socket_wait; while(1) { - socket_loop(1); + socket_wait = time(0) + SOCKET_SELECT_TIME; + do { + socket_loop(SOCKET_SELECT_TIME); + } while(time(0) < socket_wait); + timeq_tick(); + loop_bots(); + clearTempUsers(); + destroyEvents(); } } + +int stricmp (const char *s1, const char *s2) +{ + if (s1 == NULL) return s2 == NULL ? 0 : -(*s2); + if (s2 == NULL) return *s1; + char c1, c2; + while ((c1 = tolower (*s1)) == (c2 = tolower (*s2))) + { + if (*s1 == '\0') break; + ++s1; ++s2; + } + return c1 - c2; +} + +int stricmplen (const char *s1, const char *s2, int len) +{ + if (s1 == NULL) return s2 == NULL ? 0 : -(*s2); + if (s2 == NULL) return *s1; + char c1, c2; + int i = 0; + while ((c1 = tolower (*s1)) == (c2 = tolower (*s2))) + { + i++; + if (*s1 == '\0') break; + ++s1; ++s2; + if(i == len) break; + } + return c1 - c2; +} +