]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/Uptime.pl
avoid reassigning to temp upon decode_utf8
[infobot.git] / src / Modules / Uptime.pl
index ca2e58449965c223bdd23919b75686d7ef0eff68..6803a37ea689fbde0e6b868c3bde6f18e9c51d5b 100644 (file)
@@ -5,89 +5,89 @@
 #   Created: 19990925.
 #
 
-# use strict;
+# use strict;  # TODO
 
 my $uptimerecords      = 3;
 
 sub uptimeNow {
-  return time() - $^T;
+    return time() - $^T;
 }
 
 sub uptimeStr {
-  my $uptimenow = &uptimeNow();
+    my $uptimenow = &uptimeNow();
 
-  if (defined $_[0]) {
-    return "$uptimenow.$$ running $bot_version, ended ". localtime(time());
-  } else {
-    return "$uptimenow running $bot_version";
-  }
+    if ( defined $_[0] ) {
+        return "$uptimenow.$$ running $bot_version, ended " . gmtime( time() );
+    }
+    else {
+        return "$uptimenow running $bot_version";
+    }
 }
 
 sub uptimeGetInfo {
-  my (%uptime,%done);
-  my ($uptime,$pid);
-  my @results;
-  my $file = $file{utm};
-
-  if (!open(IN, $file)) {
-    &status("Writing uptime file for first time usage (nothing special).");
-    open(OUT,">$file");
-    close OUT;
-  } else {
-    while (<IN>) {
-      chop;
-
-      if (/^(\d+)\.(\d+) (.*)/) {
-         $uptime{$1}{$2} = $3;
-      }
+    my ( %uptime, %done );
+    my ( $uptime, $pid );
+    my @results;
+    my $file = $file{utm};
+
+    if ( !open( IN, $file ) ) {
+        &status("Writing uptime file for first time usage (nothing special).");
+        open( OUT, ">$file" );
+        close OUT;
     }
-    close IN;
-  }
-
-  &uptimeStr(1)   =~ /^(\d+)\.(\d+) (.*)/;
-  $uptime{$1}{$2} = $3;
-
-  # fixed up bad implementation :)
-  # should be no problems, even if uptime or pid is duplicated.
-  ## WARN: run away forks may get through here, have to fix.
-  foreach $uptime (sort {$b <=> $a} keys %uptime) {
-    foreach $pid (keys %{ $uptime{$uptime} }) {
-       next if (exists $done{$pid});
-
-       push(@results,"$uptime.$pid $uptime{$uptime}{$pid}");
-       $done{$pid} = 1;
-       last if (scalar @results == $uptimerecords);
+    else {
+        while (<IN>) {
+            chop;
+
+            if (/^(\d+)\.(\d+) (.*)/) {
+                $uptime{$1}{$2} = $3;
+            }
+        }
+        close IN;
     }
-    last if (scalar @results == $uptimerecords);
-  }
 
-  return @results;
+    &uptimeStr(1) =~ /^(\d+)\.(\d+) (.*)/;
+    $uptime{$1}{$2} = $3;
+
+    # fixed up bad implementation :)
+    # should be no problems, even if uptime or pid is duplicated.
+    ## WARN: run away forks may get through here, have to fix.
+    foreach $uptime ( sort { $b <=> $a } keys %uptime ) {
+        foreach $pid ( keys %{ $uptime{$uptime} } ) {
+            next if ( exists $done{$pid} );
+
+            push( @results, "$uptime.$pid $uptime{$uptime}{$pid}" );
+            $done{$pid} = 1;
+            last if ( scalar @results == $uptimerecords );
+        }
+        last if ( scalar @results == $uptimerecords );
+    }
+
+    return @results;
 }
 
 sub uptimeWriteFile {
-  my @results = &uptimeGetInfo();
-  my $file = $file{utm};
-
-  if ($$ != $bot_pid) {
-    &FIXME("uptime: forked process doing weird things!");
-    exit 0;
-  }
+    my @results = &uptimeGetInfo();
+    my $file    = $file{utm};
 
-  if (!open(OUT,">$file")) {
-    &status("error: cannot write to $file.");
-    return;
-  }
-
-  foreach (@results) {
-    print OUT "$_\n";
-  }
+    if ( $$ != $bot_pid ) {
+        &FIXME('uptime: forked process doing weird things!');
+        exit 0;
+    }
 
-  close OUT;
-  &status("--- Saved uptime records.");
+    if ( !open( OUT, ">$file" ) ) {
+        &status("error: cannot write to $file.");
+        return;
+    }
 
-  return unless defined $conn;
+    foreach (@results) {
+        print OUT "$_\n";
+    }
 
-  $conn->schedule(&getRandomInt("1800-3600"), \&uptimeWriteFile, "");
+    close OUT;
+    &status('--- Saved uptime records.');
 }
 
 1;
+
+# vim:ts=4:sw=4:expandtab:tw=80