#! /usr/bin/perl -wi
# Fix up the output of cvs diff -c so that it works with patch.
# We do this by propagating the full pathname from the Index: line
# into the diff itself.
#
# Thrown together by Jason Merrill <jason@cygnus.com>

while (<>)
{
  if (/^Index: (.*)/) 
    {
      $full = $1;
      print;
      for (1..7)
	{
	  $_ = <>;
	  s/ [^\t]+\t/ $full\t/;
	  print;
	}
    }
  else
    {
      print;
    }
}
