added new multi log system
[NeonServV5.git] / src / IRCParser.c
index bcb9f026897a838cc34cc392d903b4bba8820a2a..d9a707f63d024576c02c2a5bdc1cef516ed1515e 100644 (file)
@@ -31,6 +31,7 @@
 #include "timeq.h"
 #include "ConfigParser.h"
 #include "statistics.h"
+#include "log.h"
 
 struct irc_cmd *irc_commands = NULL;
 //static struct UserNode *registering_users = NULL;
@@ -59,9 +60,9 @@ void parse_line(struct ClientSocket *client, char *line) {
     int argc = 0;
     char *argv[MAXNUMPARAMS];
     #ifdef HAVE_THREADS
-    putlog(LOGLEVEL_RAW, "[%d recv %lu] %s\n", getCurrentThreadID(), (unsigned long) strlen(line), line);
+    printf_log("main", LOG_IRCRAW, "[%d recv %lu] %s\n", getCurrentThreadID(), (unsigned long) strlen(line), line);
     #else
-    putlog(LOGLEVEL_RAW, "[recv %lu] %s\n", (unsigned long) strlen(line), line);
+    printf_log("main", LOG_IRCRAW, "[recv %lu] %s\n", (unsigned long) strlen(line), line);
     #endif
     if(line[0] == ':')
         line++;
@@ -91,7 +92,7 @@ static void register_irc_function(char *command, irc_cmd_t *func) {
     struct irc_cmd *irc_cmd = malloc(sizeof(*irc_cmd));
     if (!irc_cmd)
     {
-        perror("malloc() failed");
+        printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
         return;
     }
     irc_cmd->cmd = command;
@@ -112,7 +113,7 @@ static void parse_raw(struct ClientSocket *client, char *from, char *cmd, char *
     if(!irc_cmd) {
         event_raw(client, from, cmd, argv, argc);
     } else if(!ret) {
-        fprintf(stderr,"PARSE ERROR: %s\n", cmd);
+        printf_log("main", LOG_WARNING | LOG_IRCRAW, "PARSE ERROR: %s\n", cmd);
     }
 }
 
@@ -384,8 +385,8 @@ static IRC_CMD(raw_join) {
         }
         
         if(chanuser->visCount > chan->botcount) {
+            printf_log("main", LOG_WARNING, "visCount (%d) bigger than botcount (%d) on channel %s (user %s).", chanuser->visCount, chan->botcount, chan->name, user->nick);
             chanuser->visCount = chan->botcount;
-            //TODO: Trigger WARNING
         }
         
         //if multiple bots see the user, it can't be invisible
@@ -897,7 +898,7 @@ static void raw_005_network(struct ClientSocket *client, char *value) {
         if(bot == client) continue;
         if(!bot->network_name) continue;
         if(stricmp(bot->network_name, value)) {
-            putlog(LOGLEVEL_ERROR, "WARNING: Network name '%s' (%s) differs from '%s' (%s)! Connecting to multiple IRC-Networks with one instance is NOT supported!\n", client->network_name, client->nick, bot->network_name, bot->nick);
+            printf_log("main", LOG_ERROR, "WARNING: Network name '%s' (%s) differs from '%s' (%s)! Connecting to multiple IRC-Networks with one instance is NOT supported!\n", client->network_name, client->nick, bot->network_name, bot->nick);
             break;
         }
     }