summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2005-11-03 13:28:07 +0000
committerespie <espie@openbsd.org>2005-11-03 13:28:07 +0000
commit2c929b5da391bf56174c4ffefb161eece64a0930 (patch)
tree87eb8a693d63c62c4e120aefddff36fa7877d0da
parentexit with 1 if we can't install shit thanks to dependencies issues. (diff)
downloadwireguard-openbsd-2c929b5da391bf56174c4ffefb161eece64a0930.tar.xz
wireguard-openbsd-2c929b5da391bf56174c4ffefb161eece64a0930.zip
kludge: avoid creating non-empty files.
I don't like the fix, but it works...
-rw-r--r--usr.sbin/pkg_add/OpenBSD/PackageLocator.pm12
1 files changed, 10 insertions, 2 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/PackageLocator.pm b/usr.sbin/pkg_add/OpenBSD/PackageLocator.pm
index 58fe47361bc..337838a28e7 100644
--- a/usr.sbin/pkg_add/OpenBSD/PackageLocator.pm
+++ b/usr.sbin/pkg_add/OpenBSD/PackageLocator.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: PackageLocator.pm,v 1.47 2005/11/02 22:26:51 espie Exp $
+# $OpenBSD: PackageLocator.pm,v 1.48 2005/11/03 13:28:07 espie Exp $
#
# Copyright (c) 2003-2004 Marc Espie <espie@openbsd.org>
#
@@ -364,6 +364,7 @@ sub pkg_copy
kill $sig, $$;
};
+ my $nonempty = 0;
{
local $SIG{'PIPE'} = $handler;
@@ -380,13 +381,20 @@ sub pkg_copy
if (!defined $n) {
die "Error reading\n";
}
+ if ($n > 0) {
+ $nonempty = 1;
+ }
syswrite $copy, $buffer;
syswrite STDOUT, $buffer;
} while ($n != 0);
close($copy);
}
- rename $filename, "$dir/$name";
+ if ($nonempty) {
+ rename $filename, "$dir/$name";
+ } else {
+ unlink $filename;
+ }
}
sub open_pipe