From: Alex Riesen Date: Wed, 22 Aug 2007 16:13:07 +0000 (+0200) Subject: Fix git-remote for ActiveState Perl X-Git-Tag: v1.5.3-rc7~42 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=2f5b3980617bd618ebb4314cadaff4e71ce2a390;p=git.git Fix git-remote for ActiveState Perl For reason unknown a package in ActiveState Perl 5.8.7 must implement READLINE method differently for scalar and array context. The code tested to work for more sane and recent version of perl (5.8.8 shipped with Ubuntu), so maybe it was always a requirement. Signed-off-by: Alex Riesen Signed-off-by: Junio C Hamano --- diff --git a/perl/Git.pm b/perl/Git.pm index 8fd361175..3f4080cbf 100644 --- a/perl/Git.pm +++ b/perl/Git.pm @@ -860,7 +860,13 @@ sub READLINE { if ($self->{i} >= scalar @{$self->{data}}) { return undef; } - return $self->{'data'}->[ $self->{i}++ ]; + my $i = $self->{i}; + if (wantarray) { + $self->{i} = $#{$self->{'data'}} + 1; + return splice(@{$self->{'data'}}, $i); + } + $self->{i} = $i + 1; + return $self->{'data'}->[ $i ]; } sub CLOSE {