#!/usr/pkg/bin/perl
use strict;
my $seq;
my @lines = ();
my $PATCH= "patches.$$";
chdir "/tmp";
system ("mkdir $PATCH");
chdir $PATCH;

while (<>) {
    if ( m|^Index: .*/|) {
	if ( $#lines > -1 ) { # already pushed 
	    flush_lines($seq++);
	}
    }
    push(@lines, $_);
}
sub flush_lines($){
    my $seq = shift;
    my $fname = sprintf("%03d", $seq);
    open(FNAME, ">$fname") || printf " problem opening $fname to write(%s).\n", $!;
    print FNAME @lines;
    @lines = ();

}
__END__

perl perl/practice/split-patch < /e/u/j/ftp/pub/NetBSD/snapshot/20061008/sandpoint.diff

# ----------------------------------------------
#!/bin/sh
LIST=`ls /tmp/patches.*/???`;
for i in ${LIST} ; do
   OUT=`patch -f -s -p0 < $i 2>&1 >/dev/null`
   if ${RC}; then
   echo $OUT
   else

   fi
    done;
# ----------------------------------------------
