Fixed watchdbg so that simple arguments work again
[spider.git] / perl / watchdbg
index 6058ed64566481494a6321a8dab1065734071dc6..c1d6b172beb11a09f63e2c288c7596f152f770f4 100755 (executable)
@@ -31,7 +31,8 @@ use strict;
 my $fp = DXLog::new('debug', 'dat', 'd');
 my @today = Julian::unixtoj(time()); 
 my $fh = $fp->open(@today) or die $!; 
-my $nolines = shift if $ARGV[0] =~ /^\d+$/ || 1;
+my $nolines = 1;
+$nolines = shift if $ARGV[0] =~ /^\d+$/;
 my $exp = join '|', @ARGV;
 my @prev;
 
@@ -73,12 +74,14 @@ sub printit
 {
        while (@_) {
                my $line = shift;
+               chomp $line;
+               $line =~ s/([\x00-\x1f\x7f-\xff])/sprintf("\\x%02X", ord($1))/eg; 
                my @line =  split '\^', $line;
                my $t = shift @line;
                my ($sec,$min,$hour) = gmtime((defined $t) ? $t : time);
                my $buf = sprintf "%02d:%02d:%02d", $hour, $min, $sec;
                
-               print $buf, ' ', join('^', @line); 
+               print $buf, ' ', join('^', @line), "\n"
        }
 }
 exit(0);