From 2ed034f34fe81fcdb2232d8d7a5e7c02dcb091dd Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 11 May 2015 08:57:33 +0100 Subject: git_for_each_ref: Fix FH handling --- Debian/Dgit.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 112d15b..507bcca 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -59,12 +59,12 @@ sub git_for_each_ref ($$) { # calls $func->($objid,$objtype,$fullrefname,$reftail); # $reftail is RHS of ref after refs/\w+/ # breaks if $pattern matches any ref `refs/blah' where blah has no `/' - my $fh = new IO::File "-|", qw(git for-each-ref), $pattern or die $!; - while (<$fh>) { + open GFER, "-|", qw(git for-each-ref), $pattern or die $!; + while () { m#^(\w+)\s+(\w+)\s+(refs/\w+/(\S+))\s# or die "$_ ?"; $func->($1,$2,$3,$4); } - $!=0; $?=0; close $fh or die "$pattern $? $!"; + $!=0; $?=0; close GFER or die "$pattern $? $!"; } sub git_for_each_tag_referring ($$) { -- cgit v1.2.3