X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=av.h;h=beed09d26d15f2c99cbc30533d5a1563ab516e68;hb=17aa7f3df185d8eaf8e0b1dad106f97ac3c6da48;hp=14e87658a6966379af37735d958c7f6d3946eacb;hpb=d18c61170a30691556a1da7413e13241a92f4e0a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/av.h b/av.h index 14e8765..beed09d 100644 --- a/av.h +++ b/av.h @@ -1,6 +1,6 @@ /* av.h * - * Copyright (c) 1991-1999, Larry Wall + * Copyright (c) 1991-2002, Larry Wall * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -16,7 +16,7 @@ struct xpvav { MAGIC* xmg_magic; /* magic for scalar array */ HV* xmg_stash; /* class package */ - SV** xav_alloc; /* pointer to malloced string */ + SV** xav_alloc; /* pointer to beginning of C array of SVs */ SV* xav_arylen; U8 xav_flags; }; @@ -32,8 +32,8 @@ struct xpvav { * real if the array needs to be modified in some way. Functions that * modify fake AVs check both flags to call av_reify() as appropriate. * - * Note that the Perl stack has neither flag set. (Thus, items that go - * on the stack are never refcounted.) + * Note that the Perl stack and @DB::args have neither flag set. (Thus, + * items that go on the stack are never refcounted.) * * These internal details are subject to change any time. AV * manipulations external to perl should not care about any of this. @@ -45,6 +45,20 @@ struct xpvav { /* XXX this is not used anywhere */ #define AVf_REUSED 4 /* got undeffed--don't turn old memory into SVs now */ +/* +=head1 Handy Values + +=for apidoc AmU||Nullav +Null AV pointer. + +=head1 Array Manipulation Functions + +=for apidoc Am|int|AvFILL|AV* av +Same as C. Deprecated, use C instead. + +=cut +*/ + #define Nullav Null(AV*) #define AvARRAY(av) ((SV**)((XPVAV*) SvANY(av))->xav_array) @@ -69,3 +83,4 @@ struct xpvav { #define AvFILL(av) ((SvRMAGICAL((SV *) (av))) \ ? mg_size((SV *) av) : AvFILLp(av)) +#define NEGATIVE_INDICES_VAR "NEGATIVE_INDICES"