From 2f5b3980617bd618ebb4314cadaff4e71ce2a390 Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Wed, 22 Aug 2007 18:13:07 +0200 Subject: 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 --- perl/Git.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/perl/Git.pm b/perl/Git.pm index 8fd3611753..3f4080cbf8 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 { -- cgit v1.2.3