1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-09-18 09:51:45 +02:00
This commit is contained in:
Wayne Davison 2007-12-04 01:40:18 +00:00
parent 61320c44c1
commit a58d118753
2 changed files with 13 additions and 10 deletions

View File

@ -3,6 +3,10 @@
* 24148: configure.ac, Src/utils.c: attempt to use strerror_r()
to make error messages in signal handle safer.
2007-12-03 Wayne Davison <wayned@users.sourceforge.net>
* 24147: Util/difflog.pl: improved the temporary-file handling.
2007-12-03 Peter Stephenson <pws@csr.com>
* 24143: Etc/zsh-development-guide, Util/.distfiles: Remove

View File

@ -2,10 +2,9 @@
use strict;
use IO::File;
use File::Temp qw(tempfile);
my @differ = qw(diff -bw);
my $oldtmp = "/tmp/difflog$$.old";
my $newtmp = "/tmp/difflog$$.new";
my $newfn = pop(@ARGV);
my $oldfn = pop(@ARGV);
@ -36,16 +35,16 @@ while ($old < @oldentries && $new < @newentries)
else
{
if ($oldhash{$oldentries[$old]} ne $newhash{$newentries[$new]}) {
my $oldfh = new IO::File("/tmp/difflog$$.old", 'w');
$oldfh->print($oldhash{$oldentries[$old]});
$oldfh->close();
my $newfh = new IO::File("/tmp/difflog$$.new", 'w');
$newfh->print($newhash{$newentries[$new]});
$newfh->close();
open(DIFF, join(' ', @differ, @ARGV, $oldtmp, $newtmp, '|'));
my($oldfh, $oldtmp) = tempfile('difflog-XXXXXXXX', SUFFIX => '.old', DIR => '/tmp');
print $oldfh $oldhash{$oldentries[$old]};
close($oldfh);
my($newfh, $newtmp) = tempfile('difflog-XXXXXXXX', SUFFIX => '.new', DIR => '/tmp');
print $newfh $newhash{$newentries[$new]};
close($newfh);
open(DIFF, '-|', @differ, @ARGV, $oldtmp, $newtmp) or die $!;
my @lines = <DIFF>;
close(DIFF);
unlink </tmp/difflog$$.*>;
unlink($oldtmp, $newtmp);
if (@lines)
{
print "diff for ", $oldentries[$old], ":\n";