Fix typo in binmode. Also, try to make sure the last_poll id never decreases
authorDan Boger <zigdon@irc.peeron.com>
Tue, 11 Aug 2009 05:50:40 +0000 (22:50 -0700)
committerDan Boger <zigdon@irc.peeron.com>
Tue, 11 Aug 2009 05:50:40 +0000 (22:50 -0700)
twirssi.pl

index 1f0f895067c53f1d30a9f1512c00735aaa5f61b3..aca557c52b0f5c426f4030b9ae2991abc4e739bd 100644 (file)
@@ -1032,7 +1032,7 @@ sub monitor_child {
     # pretend
 
     if ( open FILE, $filename ) {
-        bindmode FILE, ":utf8";
+        binmode FILE, ":utf8";
         my @lines;
         my %new_cache;
         while (<FILE>) {
@@ -1163,8 +1163,16 @@ sub monitor_child {
             }
 
             if (/^-- (\d+)$/) {
-                ($new_last_poll) = ($1);
-                last;
+                $new_last_poll = $1;
+                if ( $new_last_poll >= $last_poll ) {
+                    last;
+                } else {
+                    print "Impossible!  ",
+                      "new_last_poll=$new_last_poll < last_poll=$last_poll!"
+                      if &debug;
+                    undef $new_last_poll;
+                    next;
+                }
             }
             my ( $f, $t ) = split ' ', $_;
             $nicks{$f} = $friends{$f} = $t;