]> git.donarmstrong.com Git - infobot.git/commitdiff
&status() changes. removed loggingstatus in favour of fileno().
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sat, 16 Sep 2000 13:57:23 +0000 (13:57 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sat, 16 Sep 2000 13:57:23 +0000 (13:57 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@103 c11ca15a-4712-0410-83d8-924469b57eb5

src/logger.pl

index cd94341d9d8a366e5fd7e33c04cd21fb05f2aef3..2f9f945429517a669528198076ec505ede10fef0 100644 (file)
@@ -8,7 +8,7 @@
 
 use strict;
 
-use vars qw($logDate $loggingstatus $statcount $bot_pid $forkedtime
+use vars qw($logDate $statcount $bot_pid $forkedtime
            $statcountfix $addressed $logcount $logtime);
 use vars qw(@backlog);
 use vars qw(%param %file);
@@ -97,19 +97,16 @@ sub openLog {
     if (open(LOG, ">>$file{log}")) {
        &status("Opened logfile $file{log}.");
        LOG->autoflush(1);
-       $loggingstatus = 1;
     } else {
-       &status("cannot open logfile $file{log}; disabling.");
-       $loggingstatus = 0;
+       &status("cannot open logfile $file{log}; not logging.");
     }
 }
 
 sub closeLog {
     # lame fix for paramlogfile.
     return unless (&IsParam("logfile"));
-    return unless ($loggingstatus);
+    return unless (defined fileno LOG);
 
-    $loggingstatus = 0;
     &status("Closed logfile ($file{log}).");
     close LOG;
 }
@@ -189,8 +186,20 @@ sub status {
     my($input) = @_;
     my $status;
 
-    # return if input is null'ish.
-    return '' if ($input =~ /^\s*$/);
+    # if it's not a scalar, attempt to warn and fix.
+    if (ref($input) ne "") {
+       &status("status: 'input' is not scalar (".ref($input).").");
+       if (ref($input) eq "ARRAY") {
+           foreach (@$input) {
+               &WARN("status: '$_'.");
+           }
+       }
+    }
+
+    # Something is using this w/ NULL.
+    if (!defined $input or $input =~ /^\s*$/) {
+       $input = "Blank status call?";
+    }
     $input =~ s/\n+$//;
     $input =~ s/\002|037//g;   # bold,video,underline => remove.
 
@@ -289,7 +298,7 @@ sub status {
 
     # log the line into a file.
     return unless (&IsParam("logfile"));
-    return unless ($loggingstatus);
+    return unless (defined fileno LOG);
 
     # remove control characters from logging.
     $input =~ s/\e\[[0-9;]+m//g;