change build number calculation to be more accurate
[spider.git] / perl / IntMsg.pm
index 6e588b3ef7ddbb86c0165e229d37181c08179253..510a1f9a661ab03162ba9370c68ab5e3f4a56730 100644 (file)
 package IntMsg;
 
 use strict;
+
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
 use Msg;
 
 use vars qw(@ISA);
@@ -27,7 +34,7 @@ sub dequeue
 {
        my $conn = shift;
 
-       if ($conn->{msg} =~ /\n/) {
+       if ($conn && $conn->{msg} =~ /\n/) {
                my @lines = split /\r?\n/, $conn->{msg};
                if ($conn->{msg} =~ /\n$/) {
                        delete $conn->{msg};
@@ -41,7 +48,7 @@ sub dequeue
                        } else {
                                $_ = '';
                        }
-                       &{$conn->{rproc}}($conn, $_);
+                       &{$conn->{rproc}}($conn, $_) if exists $conn->{rproc};
                }
        }
 }