This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document AvFILLp; clarify related entries
authorKarl Williamson <khw@cpan.org>
Sat, 29 Aug 2020 03:18:41 +0000 (21:18 -0600)
committerKarl Williamson <khw@cpan.org>
Mon, 14 Sep 2020 03:13:58 +0000 (21:13 -0600)
av.c
av.h

diff --git a/av.c b/av.c
index 6fc1294..ada09cd 100644 (file)
--- a/av.c
+++ b/av.c
@@ -802,19 +802,24 @@ Perl_av_shift(pTHX_ AV *av)
 }
 
 /*
-=for apidoc av_top_index
+=for apidoc av_tindex
+=for apidoc_item av_top_index
 
-Returns the highest index in the array.  The number of elements in the
-array is S<C<av_top_index(av) + 1>>.  Returns -1 if the array is empty.
+These behave identically.
+If the array C<av> is empty, these return -1; otherwise they return the maximum
+value of the indices of all the array elements which are currently defined in
+C<av>.
 
-The Perl equivalent for this is C<$#myarray>.
+They process 'get' magic.
 
-(A slightly shorter form is C<av_tindex>.)
+The Perl equivalent for these is C<$#av>.
+
+Use C<L</av_count>> to get the number of elements in an array.
 
 =for apidoc av_len
 
 Same as L</av_top_index>.  Note that, unlike what the name implies, it returns
-the highest index in the array.  This is unlike L</sv_len>, which returns what
+the maximum index in the array.  This is unlike L</sv_len>, which returns what
 you would expect.
 
 B<To get the true number of elements in the array, instead use C<L</av_count>>>.
diff --git a/av.h b/av.h
index d7281e8..56e2281 100644 (file)
--- a/av.h
+++ b/av.h
@@ -44,13 +44,14 @@ Null AV pointer.
 
 (deprecated - use C<(AV *)NULL> instead)
 
-=for apidoc Am|int|AvFILL|AV* av
-Same as C<av_top_index()> or C<av_tindex()>.
+=for apidoc Am|SSize_t|AvFILL|AV* av
+Same as C<L</av_top_index>> or C<L</av_tindex>>.
 
-=for apidoc av_tindex
-Same as C<av_top_index()>.
+=for apidoc Cm|SSize_t|AvFILLp|AV* av
 
-=for apidoc m|int|AvFILLp|AV* av
+If the array C<av> is empty, this returns -1; otherwise it returns the maximum
+value of the indices of all the array elements which are currently defined in
+C<av>.  It does not handle magic, hence the C<p> private indication in its name.
 
 =cut
 */