I took the liberty of kicking it up another notch :)
- allow whitespace at the beginning of email line (strip it, though)
- remove whitespace at the beginning and the end of "content"
lines and print everything out with a single tab in front
T.
Will process horrible mess like:
--
<jsimmons@heisenberg.transvirtual.com> asfd
A bunch of fixes.
<jsimmons@heisenberg.transvirtual.com>
Pmac updates
<jsimmons@heisenberg.transvirtual.com> mmmm
Some more small fixes.
<rmk@arm.linux.org.uk>
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in
scsi_debug.c:
<trond.myklebust@fys.uio.no>
[PATCH] in_ntoa link failure
Nothing serious. Whoever it was that did that global replacemissed a
spot is all...
<viro@math.psu.edu>
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
-- into: --
<jsimmons@heisenberg.transvirtual.com>
--------------------------------------------------------------
A bunch of fixes.
--------------------------------------------------------------
Pmac updates
--------------------------------------------------------------
Some more small fixes.
<rmk@arm.linux.org.uk>
--------------------------------------------------------------
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in
scsi_debug.c:
<trond.myklebust@fys.uio.no>
--------------------------------------------------------------
[PATCH] in_ntoa link failure
Nothing serious. Whoever it was that did that global replacemissed a
spot is all...
<viro@math.psu.edu>
--------------------------------------------------------------
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
--
#!/usr/bin/perl -w
use strict;
my %people = ();
my $addr = "";
my @cur = ();
sub append_item() {
if (!$addr) { return; }
if (!$people{$addr}) { @{$people{$addr}} = (); }
push @{$people{$addr}}, [@cur];
@cur = ();
}
while (<>) {
# Match address
if (/^\s*<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
push @cur, "\t$_\n";
} else {
# Header information
print;
}
}
sub print_items($) {
my @items = @{$people{$_[0]}};
# Vain attempt to sort patches from one address
@items = sort @items;
while ($_ = shift @items) {
# Item separator
print "\t--------------------------------------------------------------\n";
print @$_;
}
}
append_item();
foreach $addr (sort keys %people) {
print "<$addr>\n";
print_items($addr);
print "\n";
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/