On Perl 5.8, lchown() sometimes ends up with leaked errno; declare $! local.
authorDerrik Pates <demon@now.ai>
Fri, 29 Jul 2011 17:28:20 +0000 (11:28 -0600)
committerDerrik Pates <demon@now.ai>
Fri, 29 Jul 2011 17:28:20 +0000 (11:28 -0600)
examples/loopback.pl

index 71e084e..88d81b9 100755 (executable)
@@ -118,6 +118,7 @@ sub x_rename {
 sub x_link { return link(fixup(shift),fixup(shift)) ? 0 : -$! }
 sub x_chown {
     my ($fn) = fixup(shift);
 sub x_link { return link(fixup(shift),fixup(shift)) ? 0 : -$! }
 sub x_chown {
     my ($fn) = fixup(shift);
+    local $!;
     print "nonexistent $fn\n" unless -e $fn;
     my ($uid,$gid) = @_;
     lchown($uid, $gid, $fn);
     print "nonexistent $fn\n" unless -e $fn;
     my ($uid,$gid) = @_;
     lchown($uid, $gid, $fn);