summaryrefslogtreecommitdiff
path: root/av.c
Commit message (Collapse)AuthorAgeFilesLines
* Add the perl equivalent for av_make.Shlomi Fish2010-05-251-0/+2
| | | | Signed-off-by: David Golden <dagolden@cpan.org>
* Add the Perl equivalent for av_len.Shlomi Fish2010-05-251-0/+2
| | | | Signed-off-by: David Golden <dagolden@cpan.org>
* Add a missing comma in the av_fill() docs.Shlomi Fish2010-05-251-1/+1
| | | | | | Minor, but still good enough for a commit. Signed-off-by: David Golden <dagolden@cpan.org>
* Clarify the av_fetch() documentation.Shlomi Fish2010-05-251-2/+4
| | | | | | | | Thanks to LeoNerd and Zefram on #p5p on IRC for some insights and suggesting versions for the modified text. I ended up using Zefram's version. Signed-off-by: David Golden <dagolden@cpan.org>
* Add Perl equivalent for av_exists().Shlomi Fish2010-05-251-0/+2
| | | | | | This mentions that it's equivalent to exists($myarray[$key]). Signed-off-by: David Golden <dagolden@cpan.org>
* Add a Perl equivalent to av_delete().Shlomi Fish2010-05-251-1/+3
| | | | Signed-off-by: David Golden <dagolden@cpan.org>
* Add the Perl equivalent example to av_clear.Shlomi Fish2010-05-251-1/+1
| | | | Signed-off-by: David Golden <dagolden@cpan.org>
* Convert Perl_magic_methcall() to varargs.Nicholas Clark2010-04-261-8/+10
| | | | | This means removing its macro wrapper, as there's no portable way to do varargs macros.
* For Perl_magic_methcall() add G_UNDEF_FILL to fill the stack with &PL_sv_undef.Nicholas Clark2010-04-261-2/+2
| | | | | | This replaces the previous special case of using a negative argument count to signify this, allowing the argument count to become unsigned. Rename it from n to argc.
* add Perl_magic_methcallDavid Mitchell2010-04-251-76/+16
| | | | | | | | | | | | | | | Add a new function that wraps the setup needed to call a magic method like FETCH (the existing S_magic_methcall function has been renamed S_magic_methcall1). There is one functional change, done mainly to allow for a single clean wrapper function, and that is that the method calls are no longer wrapped with SAVETMPS/FREETMPS. Previously only about half of them had this, so some relied on the caller to free, some didn't. At least we're consistent now. Doing it this way is necessary because otherwise magic_methcall() can't return an SV (eg for POP) because it'll be a temp and get freed by FREETMPS before it gets returned. So you'd have to copy everything, which would slow things down.
* follow up fix for fd69380d5d5b95ef16e2521cf4251b34ee0ce151David Mitchell2010-04-211-0/+2
| | | | | | | The original fix for tied elements losing magic had a bug that was masked by a bool casting issue. Once the casting was fixed, the bug surfaced: elements of @+ lost their values when returned from a sub. By removing the TEMP flag from the regdatum PVLV, we force it to be copied when returned.
* use cBOOL for bool castsDavid Mitchell2010-04-151-1/+1
| | | | | | | | | | | | | bool b = (bool)some_int doesn't necessarily do what you think. In some builds, bool is defined as char, and that cast's behaviour is thus undefined. So this line in mg.c: const bool was_temp = (bool)SvTEMP(sv); was actually setting was_temp to false even when the SVs_TEMP flag was set. Fix this by replacing all the (bool) casts with a new cBOOL() cast macro that (hopefully) does the right thing.
* [PATCH] [perl #20321] Non-destructive Perl_av_makeBo Borgerson2009-11-021-1/+7
| | | | | | Don't let sv_setsv swipe temps in av_make, since the source array might have multiple references to the same temp scalar (e.g. from a list slice).
* Add Perl_ck_warner_d(), which combines Perl_ckwarn_d() and Perl_warner().Nicholas Clark2009-10-121-4/+4
| | | | | Replace ckWARN_d{,2,3,4}() && Perl_warner() with it, which trades reduced code size for 1 more function call if warnings are not enabled.
* Mention in apidocs that av_push takes ownership of a refcountSteffen Mueller2009-07-311-1/+2
|
* PATCH: Large omnibus patch to clean up the JRRT quotesTom Christiansen2008-11-021-2/+4
| | | | | | Message-ID: <25940.1225611819@chthon> Date: Sun, 02 Nov 2008 01:43:39 -0600 p4raw-id: //depot/perl@34698
* Explicitly specify some printf formats for constant strings.Rafael Garcia-Suarez2008-11-021-7/+7
| | | | | | This is mostly to silence gcc's warning, "format not a string literal and no format arguments". p4raw-id: //depot/perl@34694
* sizeof(const SV *) is the same as sizeof(SV *), except that it doesn'tNicholas Clark2008-10-311-4/+5
| | | | | match my regexp for non-const casts. p4raw-id: //depot/perl@34677
* Eliminate (SV *) casts from the rest of *.c, picking up one (further)Nicholas Clark2008-10-301-39/+43
| | | | | erroneous const in dump.c. p4raw-id: //depot/perl@34675
* Eliminate (AV *) casts in *.c.Nicholas Clark2008-10-291-1/+1
| | | p4raw-id: //depot/perl@34650
* Bugs revealed by replacing (SV *) casts with something that doesn'tNicholas Clark2008-10-271-1/+1
| | | | | | | cast away const - AvFILL() doesn't guarantee that it won't modify the AV * passed to it. So the prototype for Perl_av_len() needs to change, and a const needs to go in Perl_magic_setarraylen(). p4raw-id: //depot/perl@34604
* Update copyright years.Nicholas Clark2008-10-251-2/+2
| | | p4raw-id: //depot/perl@34585
* Two missing 'static's, spotted by Merijn's smoker.Nicholas Clark2008-09-201-1/+1
| | | p4raw-id: //depot/perl@34381
* [DOC PATCH] av.c - clearify that av_shift returns &PL_sv_undef if array is emptyClaes Jacobsson2008-09-071-1/+2
| | | | | Message-Id: <0726E7A8-C29F-409C-81E6-B464EE6A3DDD@surfar.nu> p4raw-id: //depot/perl@34311
* [perl #51636] segmentation fault with array tiesblino@mandriva.com2008-03-121-1/+1
| | | | | | From: blino@mandriva.com (via RT) <perlbug-followup@perl.org> Message-ID: <rt-3.6.HEAD-25460-1205315984-377.51636-75-0@perl.org> p4raw-id: //depot/perl@33495
* Assert that the av argument to all the av_*() functions is an array.Nicholas Clark2008-03-081-0/+23
| | | p4raw-id: //depot/perl@33452
* Comment on why I don't think changing Perl_safesysmalloc_size() in av.cNicholas Clark2008-02-271-0/+13
| | | | | | | analagous to the change in sv.c is a good idea. [It's not a language design issue, so sadly I can't get a talk out of it. Or is that fortunately? :-)] p4raw-id: //depot/perl@33383
* If the C library provides malloc_size(), we can use that in the sameNicholas Clark2008-02-261-3/+4
| | | | | | | places as Perl's malloced_size(), except that we need to be careful of any PERL_TRACK_MEMPOOL manipulations in force. Wrap both as Perl_safesysmalloc_size(), to give a consistent name and interface. p4raw-id: //depot/perl@33379
* assert() that every NN argument is not NULL. Otherwise we have theNicholas Clark2008-02-121-15/+25
| | | | | | | | | | | | ability to create landmines that will explode under someone in the future when they upgrade their compiler to one with better optimisation. We've already done this at least twice. (Yes, some of the assertions are after code that would already have SEGVd because it already deferences a pointer, but they are put in to make it easier to automate checking that each and every case is covered.) Add a tool, checkARGS_ASSERT.pl, to check that every case is covered. p4raw-id: //depot/perl@33291
* Add macros mPUSHs() and mXPUSHs() for pushing SVs on the stackMarcus Holland-Moritz2008-01-041-2/+2
| | | | | | and mortalizing them. Use these macros where possible. And also mX?PUSH[inpu] where possible. p4raw-id: //depot/perl@32821
* Needed one more cast after 32760. The VMS compiler complainedCraig A. Berry2007-12-311-1/+1
| | | | | | that a pointer to int and pointer to long are different things even though they both point to a 32-bit signed integer. p4raw-id: //depot/perl@32792
* Change 32760 needed to add a cast to avoid a warning.Nicholas Clark2007-12-291-1/+3
| | | p4raw-id: //depot/perl@32776
* Change Perl_av_iter_p() to return IV* rather than I32* (which meansNicholas Clark2007-12-291-2/+9
| | | | | having to allocate memory where sizeof(IV) > sizeof(I32)). p4raw-id: //depot/perl@32760
* Implement each @array.Nicholas Clark2007-12-201-2/+15
| | | | | | Documentation needed, FIXME for proper 64 bit support of arrays longer than 2**32, re-order the new ops at the end if merging to 5.10.x. p4raw-id: //depot/perl@32680
* Perl_newAV() can become a mathom by making newAV() a wrapper aroundNicholas Clark2007-12-201-19/+0
| | | | | newSV_type() and tweaking Perl_sv_upgrade(). p4raw-id: //depot/perl@32675
* Fix up copyright years for files modified in 2007.Nicholas Clark2007-11-071-1/+1
| | | p4raw-id: //depot/perl@32237
* Re: optimize push @ISA, (was Re: parent.pm at http://corion.net/perl-dev)Brandon Black2007-08-311-4/+12
| | | | | | From: "Brandon Black" <blblack@gmail.com> Message-ID: <84621a60708121336m13dcf9e5uac624fb246f2a79c@mail.gmail.com> p4raw-id: //depot/perl@31770
* Second patch from:Brandon Black2007-06-261-1/+4
| | | | | | | | | Subject: Re: [perl #43357] *DESTROY = sub {} at runtime From: "Brandon Black" <blblack@gmail.com> Message-ID: <84621a60706260905x2da6eaf1x4bd7d5223951e52@mail.gmail.com> Fix MRO behaviour when one undefs @ISA p4raw-id: //depot/perl@31473
* The revenge of the constsAndy Lester2007-05-031-3/+2
| | | | | Message-ID: <20070503054554.GA30975@petdance.com> p4raw-id: //depot/perl@31123
* Add a new API function newSV_type, to replace the idiom:Nicholas Clark2007-02-181-6/+2
| | | | | | sv = newSV(0); sv_upgrade(sv, type); p4raw-id: //depot/perl@30347
* Add av_create_and_push() and av_create_and_unshift_one() to refactorNicholas Clark2007-01-291-0/+38
| | | | | out two repeated idioms. p4raw-id: //depot/perl@30064
* assert() that SvPV_set() isn't used on arrays.Nicholas Clark2006-11-061-9/+9
| | | p4raw-id: //depot/perl@29221
* Improve documentation of av_len and av_fill.Gisle Aas2006-10-301-3/+9
| | | p4raw-id: //depot/perl@29166
* more accumulated cleanupsAndy Lester2006-06-061-3/+2
| | | | | Message-ID: <20060606052501.GA30469@petdance.com> p4raw-id: //depot/perl@28358
* Refactoring in av.cAndy Lester2006-05-241-41/+38
| | | | | Message-ID: <20060524051640.GA4713@petdance.com> p4raw-id: //depot/perl@28296
* Note in av_store() that S_regclass relies on being able to pass NULL.Nicholas Clark2006-04-171-0/+4
| | | p4raw-id: //depot/perl@27868
* Speedups and shrinkages of SvREFCNT_incAndy Lester2006-02-271-1/+1
| | | | | Message-ID: <20060224205434.GA17867@petdance.com> p4raw-id: //depot/perl@27334
* Change all NEWSV() to newSV() in the core and non-dual-lived modules.Steve Hay2006-01-181-5/+5
| | | | | | | | Keep NEWSV() itself for backwards-compatibility outside of the core, but don't advertise it any more. (cf. change #25101). p4raw-link: @25101 on //depot/perl: a02a5408b2f199007c4dcb74559cc79066307ada p4raw-id: //depot/perl@26901
* It's the Barbie bus patchAndy Lester2006-01-101-2/+2
| | | | | Message-ID: <20060110054243.GA26165@petdance.com> p4raw-id: //depot/perl@26764
* Update copyright years (including some years where we made changes butNicholas Clark2006-01-081-1/+1
| | | | | did not update) p4raw-id: //depot/perl@26732