#include "timeq.h"
#include "ConfigParser.h"
#include "statistics.h"
+#include "log.h"
struct irc_cmd *irc_commands = NULL;
//static struct UserNode *registering_users = NULL;
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++;
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;
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 %s %s\n", (from ? from : "*"), cmd, merge_argv(argv, 0, argc));
}
}
}
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
if(from == NULL || argc < 2) return 0;
struct UserNode *user = getUserByMask(from);
if(user == NULL) {
+ if(stricmplen(from, "***!", 4) == 0) return 1; /* ZNC Playback */
user = createTempUserMask(from);
if(!user) return 0;
user->flags |= USERFLAG_ISTMPUSER;
}
static IRC_CMD(raw_notice) {
+ if(from == NULL && argc && !stricmp(argv[0], "AUTH")) return 1; //NOTICE AUTH is NOT a parse error ;)
if(from == NULL || argc < 2) return 0;
struct UserNode *user = getUserByMask(from);
if(user == NULL) {
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;
}
}