Re: [PATCH] git-svn: avoid warning on undef readline()
On Fri, Apr 06 2018, Eric Wong wrote:
Show 29 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
>> On Fri, Apr 06 2018, Eric Wong wrote:
>> > Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
>> >
>> >> --- a/perl/Git.pm
>> >> +++ b/perl/Git.pm
>> >> @@ -554,7 +554,7 @@ sub get_record {
>> >> my ($fh, $rs) = @_;
>> >> local $/ = $rs;
>> >> my $rec = <$fh>;
>> >> - chomp $rec if defined $rs;
>> >> + chomp $rec if defined $rs and defined $rec;
>> >
>> > I'm struggling to understand the reason for the "defined $rs"
>> > check. I think it was a braino on my part and meant to use:
>> >
>> > chomp $rec if defined $rec;
>>
>> Whether this makes any sense is another question, but you seem to have
>> explicitly meant this at the time. The full function definition with
>> documentation:
>>
>> =item get_record ( FILEHANDLE, INPUT_RECORD_SEPARATOR )
>>
>> Read one record from FILEHANDLE delimited by INPUT_RECORD_SEPARATOR,
>> removing any trailing INPUT_RECORD_SEPARATOR.
>
> I've always known chomp to respect the value of $/; so chomp($rec)
> whould only cut out whatever $rs is, and be a no-op if $rs is undef.Yup, you're right. I missed that.