diff --git a/ChangeLog b/ChangeLog index b0a49d7a..5d9e0ea7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,9 @@ Anything we add/remove/fix/change is in here (even our rants) Fish (F), Mark (M), DeadNotBuried (D) =============================================================================== * NeoStats * Version 3.0.a4-dev + - Correctly check error returns from LibEvent (F) + - If colour is enabled and logging is enabled in connectserv, strip the + message before writting the logfile (F) - Rename BOT_FLAG_SERVICEBOT to BOT_FLAG_ROOT to better reflect purpose (M) - Remove BOT_FLAG_NOINTRINSICLEVELS, intrinisc levels are now only applied to module root bots. (M) diff --git a/modules/connectserv/cs.c b/modules/connectserv/cs.c index 9667f4bf..b04b93f5 100644 --- a/modules/connectserv/cs.c +++ b/modules/connectserv/cs.c @@ -290,9 +290,11 @@ static void cs_report( const char *fmt, ... ) ircvsnprintf( buf, BUFSIZE, fmt, ap ); va_end( ap ); irc_chanalert( cs_bot, "%s", buf ); - if( cs_cfg.logging ) - nlog( LOG_NORMAL, "%s", buf ); -} + if( cs_cfg.logging ) { + if (cs_cfg.colour == 1) + strip_mirc_codes(buf); + nlog( LOG_NORMAL, "%s", buf); +} } /** @brief cs_event_signon * diff --git a/modules/perltest/test.pl b/modules/perltest/test.pl index 195973c0..f3afce76 100644 --- a/modules/perltest/test.pl +++ b/modules/perltest/test.pl @@ -117,13 +117,13 @@ sub event_pong { # NeoStats::debug("$key => $value"); # } # - my $servers = new NeoStats::NV("Servers"); - while ( my ($key, $value) = each(%$servers)) { - NeoStats::debug("Hostserv Key => $value, $key"); - while ( my ($key1, $value1) = each(%$value)) { - NeoStats::debug("HS: $key: $key1 => $value1"); - } - } +# my $servers = new NeoStats::NV("Servers"); +# while ( my ($key, $value) = each(%$servers)) { +# NeoStats::debug("Hostserv Key => $value, $key"); +# while ( my ($key1, $value1) = each(%$value)) { +# NeoStats::debug("HS: $key: $key1 => $value1"); +# } +# } my $hostserv = new NeoStats::NV("HostServ"); # my $hashtest = $hostserv->{1}; @@ -138,14 +138,15 @@ sub event_pong { # Dump($hostserv); # NeoStats::debug("Var: HostServ".$hostserv->{0}."Fin"); # $hashtest->{nick} = "ghaha"; - $hostserv->{0}->{nick} = "haha"; +# $hostserv->{0}->{nick} = "haha"; # NeoStats::debug("HS Nick: ".$hashtest->{nick}); my $blah; $blah->{nick} = "Gheheh"; $blah->{host} = "w00p.com"; $blah->{vhost} = "goog.com"; $blah->{passwd} = "pass"; - $hostserv->{-1} = $blah; + NeoStats::NV:AddNode($hostserv, "-1", $blah); +# $hostserv->{-1} = $blah; } sub event_signon { diff --git a/src/conf.c b/src/conf.c index 040d8e15..90d94f75 100644 --- a/src/conf.c +++ b/src/conf.c @@ -562,7 +562,6 @@ static int cb_verify_log( cfg_t *cfg, cfg_opt_t *opt ) static int cb_verify_mask( cfg_t *cfg, cfg_opt_t *opt ) { char *value = opt->values[0]->string; -printf("veryify %s\n", strstr(value, "!")); if( !strstr( value, "!" ) | !strstr( value, "@" ) ) { cfg_error( cfg, "Invalid hostmask %s for %s", value, opt->name ); diff --git a/src/dcc.c b/src/dcc.c index 889e5fe4..5dcda443 100644 --- a/src/dcc.c +++ b/src/dcc.c @@ -207,7 +207,6 @@ static int dcc_error( int sock_no, void *name ) DelDCCClient( sock->data ); else nlog( LOG_WARNING, "Problem, Sock->data is NULL, therefore we can't delete DCCClient!" ); - DelSock( sock ); return NS_SUCCESS; } diff --git a/src/sock.c b/src/sock.c index cae95f36..4f63cddd 100644 --- a/src/sock.c +++ b/src/sock.c @@ -376,18 +376,16 @@ static void socket_linemode_write_done (struct bufferevent *bufferevent, void *a static void socket_linemode_error(struct bufferevent *bufferevent, short what, void *arg) { Sock *sock = (Sock*)arg; - switch (what) { - case EVBUFFER_READ: - case EVBUFFER_WRITE: - case EVBUFFER_EOF: - case EVBUFFER_ERROR: - case EVBUFFER_TIMEOUT: - nlog(LOG_ERROR, "LinemodeSock Error: %d (%s)", what, strerror(errno)); - break; - default: - nlog(LOG_ERROR, "Unknown Error from Socket: %d (%s)", what, strerror(errno)); - break; - } + if (what & EVBUFFER_READ) + what &= ~EVBUFFER_READ; + if (what & EVBUFFER_WRITE) + what &= ~EVBUFFER_WRITE; + + if ((what & EVBUFFER_EOF) || (what & EVBUFFER_ERROR) || (what & EVBUFFER_TIMEOUT)) { + nlog(LOG_ERROR, "LinemodeSock Error: %d (%s)", what, strerror(errno)); + } else { + nlog(LOG_ERROR, "Unknown Error from Socket: %d (%s)", what, strerror(errno)); + } sock->sfunc.linemode.errcb(what, sock->data); DelSock(sock); }