This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp_sort.c: fix fencepost error in call to av_extend()
authorYves Orton <demerphq@gmail.com>
Fri, 31 Jan 2020 14:34:48 +0000 (15:34 +0100)
committerYves Orton <demerphq@gmail.com>
Fri, 31 Jan 2020 14:37:45 +0000 (15:37 +0100)
commit2b301921ff7682e54ab74ad30dbf2ce1c9fc24b1
treebe847e310a47167a95628f59deaf59c0d27639e8
parent3eb35b099f783db0ec40f0ca9f20fd1666c54cdb
pp_sort.c: fix fencepost error in call to av_extend()

In [rt.cpan.org #39196] issue #17496 there is a report
that Tie::File produced spurious blank lines in the file
after

    @tied= sort @tied;

it turns out that this is because Tie::File treats
EXTEND similarly to STORESIZE (which is arguably not
entirely correct, but also not that weird) coupled
with an off by one error in the calls to av_extend()
in pp_sort.

This patch fixes the fencepost error, adds some comments
to av_extend() to make it clear what it is doing, and
adds a test that EXTEND is called by this code with
correct argument.
av.c
pp_sort.c
t/op/sort.t