<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/perl


die &lt;&lt;EEE unless @ARGV;
Usage: $0 func1 [func2 [ ...] ]

This filter (stdin-&gt;stdout) removes lines from dbug trace that were generated
by specified functions and all functions down the call stack. Produces the
same effect as if the original source had DBUG_PUSH(""); right after
DBUG_ENTER() and DBUG_POP(); right before DBUG_RETURN in every such a function.
EEE

$re=join('|', @ARGV);
$skip='';

while(&lt;STDIN&gt;) {
  print unless $skip;
  next unless /^(?:.*: )*((?:\| )*)([&lt;&gt;])($re)\n/o;
  if ($2 eq '&gt;') {
    $skip=$1.$3 unless $skip;
    next;
  }
  next if $skip ne $1.$3;
  $skip='';
  print;
}
</pre></body></html>