Lines Matching refs:key

27     I32 key;
36 key = AvMAX(av) + 1;
37 while (key > AvFILLp(av) + 1)
38 AvARRAY(av)[--key] = &PL_sv_undef;
39 while (key) {
40 sv = AvARRAY(av)[--key];
45 key = AvARRAY(av) - AvALLOC(av);
46 while (key)
47 AvALLOC(av)[--key] = &PL_sv_undef;
55 Pre-extend an array. The C<key> is the index to which the array should be
62 Perl_av_extend(pTHX_ AV *av, I32 key)
73 PUSHs(sv_2mortal(newSViv(key+1)));
81 if (key > AvMAX(av)) {
97 if (key > AvMAX(av) - 10) {
98 newmax = key + AvMAX(av);
112 if (key <= newmax)
115 newmax = key + AvMAX(av) / 5;
151 newmax = key < 3 ? 3 : key;
172 Returns the SV at the specified index in the array. The C<key> is the
183 Perl_av_fetch(pTHX_ register AV *av, I32 key, I32 lval)
195 if (tied_magic && key < 0) {
207 if (key < 0 && adjust_index) {
208 key += AvFILL(av) + 1;
209 if (key < 0)
215 mg_copy((SV*)av, sv, 0, key);
222 if (key < 0) {
223 key += AvFILL(av) + 1;
224 if (key < 0)
228 if (key > AvFILLp(av)) {
232 return av_store(av,key,sv);
234 if (AvARRAY(av)[key] == &PL_sv_undef) {
238 return av_store(av,key,sv);
243 && (!AvARRAY(av)[key] /* eg. @_ could have freed elts */
244 || SvTYPE(AvARRAY(av)[key]) == SVTYPEMASK)) {
245 AvARRAY(av)[key] = &PL_sv_undef; /* 1/2 reify */
248 return &AvARRAY(av)[key];
254 Stores an SV in an array. The array index is specified as C<key>. The
269 Perl_av_store(pTHX_ register AV *av, I32 key, SV *val)
282 if (key < 0) {
292 key += AvFILL(av) + 1;
293 if (key < 0)
298 mg_copy((SV*)av, val, 0, key);
305 if (key < 0) {
306 key += AvFILL(av) + 1;
307 if (key < 0)
311 if (SvREADONLY(av) && key >= AvFILL(av))
316 if (key > AvMAX(av))
317 av_extend(av,key);
319 if (AvFILLp(av) < key) {
321 if (av == PL_curstack && key > PL_stack_sp - PL_stack_base)
322 PL_stack_sp = PL_stack_base + key; /* XPUSH in disguise */
325 while (AvFILLp(av) < key);
327 AvFILLp(av) = key;
330 SvREFCNT_dec(ary[key]);
331 ary[key] = val;
335 sv_magic(val, (SV*)av, toLOWER(mg->mg_type), 0, key);
339 return &ary[key];
435 register I32 key;
459 key = AvFILLp(av) + 1;
460 while (key) {
461 SV * sv = ary[--key];
464 ary[key] = &PL_sv_undef;
468 if ((key = AvARRAY(av) - AvALLOC(av))) {
469 AvMAX(av) += key;
487 register I32 key;
498 key = AvFILLp(av) + 1;
499 while (key)
500 SvREFCNT_dec(AvARRAY(av)[--key]);
759 I32 key = AvFILLp(av);
763 while (key > fill) {
764 SvREFCNT_dec(ary[key]);
765 ary[key--] = &PL_sv_undef;
769 while (key < fill)
770 ary[++key] = &PL_sv_undef;
784 Deletes the element indexed by C<key> from the array. Returns the
791 Perl_av_delete(pTHX_ AV *av, I32 key, I32 flags)
805 if (key < 0) {
817 key += AvFILL(av) + 1;
818 if (key < 0)
822 svp = av_fetch(av, key, TRUE);
835 if (key < 0) {
836 key += AvFILL(av) + 1;
837 if (key < 0)
841 if (key > AvFILLp(av))
846 sv = AvARRAY(av)[key];
847 if (key == AvFILLp(av)) {
848 AvARRAY(av)[key] = &PL_sv_undef;
851 } while (--key >= 0 && AvARRAY(av)[key] == &PL_sv_undef);
854 AvARRAY(av)[key] = &PL_sv_undef;
868 Returns true if the element indexed by C<key> has been initialized.
876 Perl_av_exists(pTHX_ AV *av, I32 key)
888 if (key < 0) {
900 key += AvFILL(av) + 1;
901 if (key < 0)
906 mg_copy((SV*)av, sv, 0, key);
916 if (key < 0) {
917 key += AvFILL(av) + 1;
918 if (key < 0)
922 if (key <= AvFILLp(av) && AvARRAY(av)[key] != &PL_sv_undef
923 && AvARRAY(av)[key])
1005 /* Check for the existence of an element named by a given key.