7 my $warns_dir = "old_warnings/";
11 while (my $arg = shift) {
16 if ($arg =~ /--store/) {
20 if ($arg =~ /--unstore/) {
28 my $du = `du $warns_file`;
29 $du =~ s/([0-9]+).*/$1/;
32 if (int($du) > 100000) {
33 print "$warns_file is too big\n";
37 open(WARNS
, $warns_file);
39 my ($orig, $file, $line, $msg);
42 if (!($_ =~ /(error|warn|info)/)) {
47 ($file, $line, $msg) = split(/[: ]/, $_, 3);
49 $msg =~ s/^.*?:\d+(|:\d+:) .*? //;
50 $msg =~ s/[us](16|32|64)(min|max)//g;
51 $msg =~ s/[01234567890]//g;
52 if ($msg =~ /can't/) {
53 $msg =~ s/(.*can't.*').*?('.*)/$1 $2/;
54 } elsif ($msg =~ /don't/) {
55 $msg =~ s/(.*don't.*').*?('.*)/$1 $2/;
60 $msg =~ s/\(\w+ returns null\)/(... returns null)/;
61 $msg =~ s/dma on the stack \(.*?\)/dma on the stack (...)/;
62 $msg =~ s/possible ERR_PTR '' to .*/possible ERR_PTR '' to .../;
63 $msg =~ s/inconsistent returns ([^ ]+?) locked \(\)/inconsistent returns ... locked ()/;
64 $msg =~ s/(.*) [^ ]* (too large for) [^ ]+ (.*)/$1 $2 $3/;
73 unless(-e
"$warns_dir/" or mkdir "$warns_dir/") {
74 die "Unable to create $warns_dir";
76 open(TMP
, '>', "$warns_dir/$file.$msg") or
77 die "Error opening: $warns_dir/$file.$msg\n";
83 unlink("$warns_dir/$file.$msg") and
84 print "removed: $warns_dir/$file.$msg\n";
88 unless (-e
"$warns_dir/$file.$msg") {