From: dms Date: Fri, 2 Feb 2001 13:11:49 +0000 (+0000) Subject: - undefining vars in wrong subs; fixed. X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c4065ec7408da2665b5c0847deb1f49daf0f9dc6;p=infobot.git - undefining vars in wrong subs; fixed. - fixes reading user/chan files finally, again. git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk@300 c11ca15a-4712-0410-83d8-924469b57eb5 --- diff --git a/blootbot/src/DynaConfig.pl b/blootbot/src/DynaConfig.pl index 2450882..cb9c30e 100644 --- a/blootbot/src/DynaConfig.pl +++ b/blootbot/src/DynaConfig.pl @@ -19,7 +19,10 @@ sub readUserFile { exit 1; } - undef %users; # clear on reload. + undef %users; # clear on reload. + undef %bans; # reset. + undef %ingore; # reset. + my $ver = ; if ($ver !~ /^#v1/) { &ERROR("old or invalid user file found."); @@ -60,12 +63,12 @@ sub readUserFile { } elsif (/^- (\S+):\+(\d+):\+(\d+):(\S+):(.*)$/ and $type eq "ignore") { ### ignore: middle entry. my $mask = $1; + my(@array) = ($2,$3,$4,$5); ### DEBUG purposes only! if ($mask !~ /^$mask{nuh}$/) { &WARN("ignore: mask $mask is invalid."); next; } - my(@array) = ($2,$3,$4,$5); $ignore{$chan}{$mask} = \@array; } elsif (/^::(\S+) bans$/) { # bans: start entry. @@ -146,8 +149,13 @@ sub writeUserFile { print OUT "::$chan bans\n"; foreach (keys %{ $bans{$chan} }) { # format: bans: mask expire time-added count who-added reason - printf OUT "- %s:+%d:+%d:%d:%s:%s\n", - $_, @{ $bans{$chan}{$_} }; + my @array = @{ $bans{$chan}{$_} }; + if (scalar @array != 5) { + &WARN("bans: $chan/$_ is corrupted."); + next; + } + + printf OUT "- %s:+%d:+%d:%d:%s:%s\n", $_, @array; } } print OUT "\n" if ($cbans); @@ -166,15 +174,15 @@ sub writeUserFile { ### TODO: use hash instead of array for flexibility? print OUT "::$chan ignore\n"; - &DEBUG("ignore: chan => $chan"); foreach (keys %{ $ignore{$chan} }) { - &DEBUG(" => $_"); # format: ignore: mask expire time-added who-added reason - printf OUT "- %s:+%d:+%d:%s:%s\n", $_, - @{ $ignore{$chan}{$_} }; - foreach ( @{ $ignore{$chan}{$_} } ) { - &DEBUG(" => $_"); + my @array = @{ $ignore{$chan}{$_} }; + if (scalar @array != 4) { + &WARN("ignore: $chan/$_ is corrupted."); + next; } + + printf OUT "- %s:+%d:+%d:%s:%s\n", $_, @array; } } @@ -198,8 +206,7 @@ sub readChanFile { } undef %chanconf; # reset. - undef %bans; # reset. - undef %ingore; # reset. + $_ = ; # version string. my $chan;