#!/usr/bin/env perl
-# $Id: tracemunch,v 1.16 2017/08/09 23:59:00 tom Exp $
+# $Id: tracemunch,v 1.20 2018/05/02 00:14:29 tom Exp $
##############################################################################
-# Copyright (c) 1998-2005,2017 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
use warnings;
our $putattr =
- "PutAttrChar\\({{ '(.)' = 0[0-7]+ }}\\) at \\(([0-9]+), ([0-9]+)\\)";
+ 'PutAttrChar\(\{\{ ' . "'(.)'"
+ . ' = 0[0-7]+ \}\}\) at \(([0-9]+), ([0-9]+)\)';
our $waddnstr =
- "waddnstr\\(0x([[:xdigit:]]+),\"([^\"]+)\",[0-9]+\\) called {A_NORMAL}";
+ 'waddnstr\(0x([[:xdigit:]]+),"([^\"]+)",[0-9]+\) called \{A_NORMAL\}';
our $scr_nums = 0;
our $thr_nums = 0;
$arg =~ s/\b$stdscr\b/stdscr/g if ($stdscr);
foreach my $addr ( keys %scr_addr ) {
$n = $scr_addr{$addr};
- $arg =~ s/\b$addr\b/screen$n/g;
+ $arg =~ s/\b$addr\b/screen$n/g if ( defined $n );
}
foreach my $addr ( keys %thr_addr ) {
$n = $thr_addr{$addr};
- $arg =~ s/\b$addr\b/thread$n/g;
+ $arg =~ s/\b$addr\b/thread$n/g if ( defined $n );
}
foreach my $addr ( keys %try_addr ) {
$n = $try_addr{$addr};
- $arg =~ s/\b$addr\b/tries_$n/g;
+ $arg =~ s/\b$addr\b/tries_$n/g if ( defined $n );
}
foreach my $addr ( keys %win_addr ) {
$n = $win_addr{$addr};
- $arg =~ s/\b$addr\b/window$n/g;
+ $arg =~ s/\b$addr\b/window$n/g if ( defined $n );
}
if ( $arg =~ /add_wch\((window\d+,)?0x[[:xdigit:]]+\)/i ) {
$arg =~ s/(0x[[:xdigit:]]+)[)]/\&wch)/i;
while (<STDIN>) {
my $addr;
my $n;
- my $awaiting;
+ my $awaiting = "";
CLASSIFY: {
$awaiting = "curscr" if ( $_ =~ /creating curscr/ );
$awaiting = "newscr" if ( $_ =~ /creating newscr/ );
$awaiting = "stdscr" if ( $_ =~ /creating stdscr/ );
- $awaiting = "screen" if ( $_ =~ /^(\+ )*called {new_prescr\(\)/ );
+ $awaiting = "screen" if ( $_ =~ /^(\+ )*called \{new_prescr\(\)/ );
if ( $_ =~ /^create :window 0x([[:xdigit:]]+)/ ) {
$addr = "0x$1";
if ( $awaiting eq "curscr" ) {
}
$awaiting = "";
}
- elsif ( $_ =~ /^(\+ )*called {_nc_add_to_try\((0x[[:xdigit:]]+),/ ) {
+ elsif ( $_ =~ /^(\+ )*called \{_nc_add_to_try\((0x[[:xdigit:]]+),/ ) {
$try_addr{$2} = ++$try_nums unless defined $try_addr{$2};
}
elsif ( $_ =~ /^(\+ )*_nc_alloc_screen_sp 0x([[:xdigit:]]+)/ ) {