added some comments
[spider.git] / perl / watchdbg
index 6058ed64566481494a6321a8dab1065734071dc6..dec397091dba07d826dbc7e7eb887c8a0a98d0ca 100755 (executable)
@@ -6,6 +6,7 @@
 # examples:-
 # 
 #   watchdbg g1tlh       # watch everything g1tlh does
+#   watchdbg 2 PCPROT       # watch all PCPROT messages + up to 2 lines before
 #   watchdbg gb7baa gb7djk   # watch the conversation between BAA and DJK 
 #
 
@@ -31,7 +32,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 +75,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);