]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Misc.pl
added flood protection for notice()
[infobot.git] / src / Misc.pl
index b9c473fc9dc704446038105bc5ef5a84495657f8..be5e034a0343c3c6e715591e36101bfd52f71efb 100644 (file)
@@ -167,8 +167,13 @@ sub Time2String {
     my $time = shift;
     my $retval;
 
-    return("0s")
-               if (!defined $time or $time !~ /\d+/ or $time <= 0);
+    return("NULL s") if (!defined $time or $time !~ /\d+/);
+
+    my $prefix = "";
+    if ($time < 0) {
+       $time = - $time;
+       $prefix = "- ";
+    }
 
     my $s = int($time) % 60;
     my $m = int($time / 60) % 60;
@@ -180,7 +185,7 @@ sub Time2String {
     $retval .= sprintf(" \002%d\002m", $m) if ($m != 0);
     $retval .= sprintf(" \002%d\002s", $s) if ($s != 0);
 
-    return substr($retval, 1);
+    return $prefix.substr($retval, 1);
 }
 
 ###
@@ -444,10 +449,12 @@ sub isStale {
 
     return 1 unless ( -f $file);
     if ($file =~ /idx/) {
-       my $age = time() - (stat($file))[9];
-       &DEBUG("stale: $age. (". &Time2String($age) .")");
+       my $age2 = time() - (stat($file))[9];
+       &DEBUG("stale: $age2. (". &Time2String($age2) .")");
     }
-    return 1 if (time() - (stat($file))[9] > $age*60*60*24);
+    $age *= 60*60*24 if ($age >= 0 and $age < 30);
+
+    return 1 if (time() - (stat($file))[9] > $age);
     return 0;
 }