Apa |OP* |newPVOP |I32 type|I32 flags|NULLOK char* pv
Apa |SV* |newRV |NN SV* sv
Apda |SV* |newRV_noinc |NN SV* sv
-Apda |SV* |newSV |STRLEN len
+Apda |SV* |newSV |const STRLEN len
Apa |OP* |newSVREF |NN OP* o
Apa |OP* |newSVOP |I32 type|I32 flags|NN SV* sv
Apda |SV* |newSViv |IV i
Apd |SV* |sv_bless |NN SV* sv|NN HV* stash
Afpd |void |sv_catpvf |NN SV* sv|NN const char* pat|...
Apd |void |sv_vcatpvf |NN SV* sv|NN const char* pat|NULLOK va_list* args
-Apd |void |sv_catpv |NN SV* sv|NULLOK const char* ptr
+Apd |void |sv_catpv |NN SV *const sv|NULLOK const char* ptr
Amdb |void |sv_catpvn |NN SV *dsv|NN const char *sstr|STRLEN len
Amdb |void |sv_catsv |NN SV *dstr|NULLOK SV *sstr
Apd |void |sv_chop |NN SV *const sv|NULLOK const char *const ptr
Apd |char* |sv_gets |NN SV* sv|NN PerlIO* fp|I32 append
Apd |char* |sv_grow |NN SV *const sv|STRLEN newlen
Apd |void |sv_inc |NULLOK SV* sv
-Apd |void |sv_insert |NN SV *bigstr|STRLEN offset|STRLEN len \
- |NN const char *little|STRLEN littlelen
+Apd |void |sv_insert |NN SV *const bigstr|const STRLEN offset|const STRLEN len \
+ |NN const char *const little|const STRLEN littlelen
Apd |int |sv_isa |NULLOK SV* sv|NN const char* name
Apd |int |sv_isobject |NULLOK SV* sv
Apd |STRLEN |sv_len |NULLOK SV* sv
Apd |STRLEN |sv_len_utf8 |NULLOK SV* sv
-Apd |void |sv_magic |NN SV* sv|NULLOK SV* obj|int how|NULLOK const char* name \
- |I32 namlen
-Apd |MAGIC *|sv_magicext |NN SV* sv|NULLOK SV* obj|int how|NULLOK const MGVTBL *vtbl \
- |NULLOK const char* name|I32 namlen
+Apd |void |sv_magic |NN SV *const sv|NULLOK SV *const obj|const int how \
+ |NULLOK const char *const name|I32 namlen
+Apd |MAGIC *|sv_magicext |NN SV *const sv|NULLOK SV *const obj|const int how \
+ |NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \
+ |const I32 namlen
ApdaR |SV* |sv_mortalcopy |NULLOK SV* oldsv
ApdR |SV* |sv_newmortal
Apd |SV* |sv_newref |NULLOK SV* sv
Amdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
Amdb |void |sv_taint |NN SV* sv
ApdR |bool |sv_tainted |NN SV* sv
-Apd |int |sv_unmagic |NN SV* sv|int type
+Apd |int |sv_unmagic |NN SV *const sv|const int type
Apdmb |void |sv_unref |NN SV* sv
Apd |void |sv_unref_flags |NN SV *ref|U32 flags
Apd |void |sv_untaint |NN SV* sv
Ap |int |runops_debug
Afpd |void |sv_catpvf_mg |NN SV *sv|NN const char* pat|...
Apd |void |sv_vcatpvf_mg |NN SV* sv|NN const char* pat|NULLOK va_list* args
-Apd |void |sv_catpv_mg |NN SV *sv|NULLOK const char *ptr
+Apd |void |sv_catpv_mg |NN SV *const sv|NULLOK const char *const ptr
Apdbm |void |sv_catpvn_mg |NN SV *sv|NN const char *ptr|STRLEN len
Apdbm |void |sv_catsv_mg |NN SV *dsv|NULLOK SV *ssv
Afpd |void |sv_setpvf_mg |NN SV *sv|NN const char* pat|...
Apdmb |void |sv_force_normal|NN SV *sv
Apd |void |sv_force_normal_flags|NN SV *const sv|const U32 flags
Ap |void |tmps_grow |I32 n
-Apd |SV* |sv_rvweaken |NN SV *sv
+Apd |SV* |sv_rvweaken |NN SV *const sv
p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
Ap |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
#endif
#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-po |void |sv_add_backref |NN SV *tsv|NN SV *sv
+po |void |sv_add_backref |NN SV *const tsv|NN SV *const sv
#endif
#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-poM |int |sv_kill_backrefs |NN SV *sv|NN AV *av
+poM |int |sv_kill_backrefs |NN SV *const sv|NN AV *const av
#endif
#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
s |void |sv_unglob |NN SV* sv
s |void |not_a_number |NN SV *const sv
s |I32 |visit |NN SVFUNC_t f|const U32 flags|const U32 mask
-s |void |sv_del_backref |NN SV *tsv|NN SV *sv
+s |void |sv_del_backref |NN SV *const tsv|NN SV *const sv
sR |SV * |varname |NULLOK GV *gv|const char gvtype|PADOFFSET targ \
|NULLOK SV *keyname|I32 aindex|int subscript_type
# ifdef DEBUGGING
L<perlhack/PERL_MEM_LOG>). The older API is still there for use in XS
modules supporting older perls.
- SV* newSV(STRLEN len)
+ SV* newSV(const STRLEN len)
=for hackers
Found in file sv.c
If the SV has the UTF-8 status set, then the bytes appended should be
valid UTF-8. Handles 'get' magic, but not 'set' magic. See C<sv_catpv_mg>.
- void sv_catpv(SV* sv, const char* ptr)
+ void sv_catpv(SV *const sv, const char* ptr)
=for hackers
Found in file sv.c
Like C<sv_catpv>, but also handles 'set' magic.
- void sv_catpv_mg(SV *sv, const char *ptr)
+ void sv_catpv_mg(SV *const sv, const char *const ptr)
=for hackers
Found in file sv.c
Inserts a string at the specified offset/length within the SV. Similar to
the Perl substr() function.
- void sv_insert(SV *bigstr, STRLEN offset, STRLEN len, const char *little, STRLEN littlelen)
+ void sv_insert(SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen)
=for hackers
Found in file sv.c
You need to use C<sv_magicext> to add magic to SvREADONLY SVs and also
to add more than one instance of the same 'how'.
- void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen)
+ void sv_magic(SV *const sv, SV *const obj, const int how, const char *const name, I32 namlen)
=for hackers
Found in file sv.c
(This is now used as a subroutine by C<sv_magic>.)
- MAGIC * sv_magicext(SV* sv, SV* obj, int how, const MGVTBL *vtbl, const char* name, I32 namlen)
+ MAGIC * sv_magicext(SV *const sv, SV *const obj, const int how, const MGVTBL *const vtbl, const char *const name, const I32 namlen)
=for hackers
Found in file sv.c
associated with that magic. If the RV is magical, set magic will be
called after the RV is cleared.
- SV* sv_rvweaken(SV *sv)
+ SV* sv_rvweaken(SV *const sv)
=for hackers
Found in file sv.c
Removes all magic of type C<type> from an SV.
- int sv_unmagic(SV* sv, int type)
+ int sv_unmagic(SV *const sv, const int type)
=for hackers
Found in file sv.c
#define PERL_ARGS_ASSERT_NEWRV_NOINC \
assert(sv)
-PERL_CALLCONV SV* Perl_newSV(pTHX_ STRLEN len)
+PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len)
__attribute__malloc__
__attribute__warn_unused_result__;
#define PERL_ARGS_ASSERT_SV_VCATPVF \
assert(sv); assert(pat)
-PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr)
+PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV *const sv, const char* ptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_CATPV \
assert(sv)
assert(sv)
PERL_CALLCONV void Perl_sv_inc(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_sv_insert(pTHX_ SV *bigstr, STRLEN offset, STRLEN len, const char *little, STRLEN littlelen)
+PERL_CALLCONV void Perl_sv_insert(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_SV_INSERT \
PERL_CALLCONV int Perl_sv_isobject(pTHX_ SV* sv);
PERL_CALLCONV STRLEN Perl_sv_len(pTHX_ SV* sv);
PERL_CALLCONV STRLEN Perl_sv_len_utf8(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen)
+PERL_CALLCONV void Perl_sv_magic(pTHX_ SV *const sv, SV *const obj, const int how, const char *const name, I32 namlen)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_MAGIC \
assert(sv)
-PERL_CALLCONV MAGIC * Perl_sv_magicext(pTHX_ SV* sv, SV* obj, int how, const MGVTBL *vtbl, const char* name, I32 namlen)
+PERL_CALLCONV MAGIC * Perl_sv_magicext(pTHX_ SV *const sv, SV *const obj, const int how, const MGVTBL *const vtbl, const char *const name, const I32 namlen)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_MAGICEXT \
assert(sv)
#define PERL_ARGS_ASSERT_SV_TAINTED \
assert(sv)
-PERL_CALLCONV int Perl_sv_unmagic(pTHX_ SV* sv, int type)
+PERL_CALLCONV int Perl_sv_unmagic(pTHX_ SV *const sv, const int type)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_UNMAGIC \
assert(sv)
#define PERL_ARGS_ASSERT_SV_VCATPVF_MG \
assert(sv); assert(pat)
-PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr)
+PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *const sv, const char *const ptr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_CATPV_MG \
assert(sv)
assert(sv)
PERL_CALLCONV void Perl_tmps_grow(pTHX_ I32 n);
-PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *sv)
+PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *const sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_RVWEAKEN \
assert(sv)
#endif
#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *tsv, SV *sv)
+PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *const tsv, SV *const sv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SV_ADD_BACKREF \
#endif
#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV int Perl_sv_kill_backrefs(pTHX_ SV *sv, AV *av)
+PERL_CALLCONV int Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SV_KILL_BACKREFS \
#define PERL_ARGS_ASSERT_VISIT \
assert(f)
-STATIC void S_sv_del_backref(pTHX_ SV *tsv, SV *sv)
+STATIC void S_sv_del_backref(pTHX_ SV *const tsv, SV *const sv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_SV_DEL_BACKREF \
=cut */
void
-Perl_sv_catpv(pTHX_ register SV *sv, register const char *ptr)
+Perl_sv_catpv(pTHX_ register SV *const sv, register const char *ptr)
{
dVAR;
register STRLEN len;
*/
void
-Perl_sv_catpv_mg(pTHX_ register SV *sv, register const char *ptr)
+Perl_sv_catpv_mg(pTHX_ register SV *const sv, register const char *const ptr)
{
PERL_ARGS_ASSERT_SV_CATPV_MG;
*/
SV *
-Perl_newSV(pTHX_ STRLEN len)
+Perl_newSV(pTHX_ const STRLEN len)
{
dVAR;
register SV *sv;
=cut
*/
MAGIC *
-Perl_sv_magicext(pTHX_ SV* sv, SV* obj, int how, const MGVTBL *vtable,
- const char* name, I32 namlen)
+Perl_sv_magicext(pTHX_ SV *const sv, SV *const obj, const int how,
+ const MGVTBL *const vtable, const char *const name, const I32 namlen)
{
dVAR;
MAGIC* mg;
*/
void
-Perl_sv_magic(pTHX_ register SV *sv, SV *obj, int how, const char *name, I32 namlen)
+Perl_sv_magic(pTHX_ register SV *const sv, SV *const obj, const int how,
+ const char *const name, const I32 namlen)
{
dVAR;
const MGVTBL *vtable;
*/
int
-Perl_sv_unmagic(pTHX_ SV *sv, int type)
+Perl_sv_unmagic(pTHX_ SV *const sv, const int type)
{
MAGIC* mg;
MAGIC** mgp;
*/
SV *
-Perl_sv_rvweaken(pTHX_ SV *sv)
+Perl_sv_rvweaken(pTHX_ SV *const sv)
{
SV *tsv;
*/
void
-Perl_sv_add_backref(pTHX_ SV *tsv, SV *sv)
+Perl_sv_add_backref(pTHX_ SV *const tsv, SV *const sv)
{
dVAR;
AV *av;
*/
STATIC void
-S_sv_del_backref(pTHX_ SV *tsv, SV *sv)
+S_sv_del_backref(pTHX_ SV *const tsv, SV *const sv)
{
dVAR;
AV *av = NULL;
}
int
-Perl_sv_kill_backrefs(pTHX_ SV *sv, AV *av)
+Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av)
{
SV **svp = AvARRAY(av);
*/
void
-Perl_sv_insert(pTHX_ SV *bigstr, STRLEN offset, STRLEN len, const char *little, STRLEN littlelen)
+Perl_sv_insert(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len,
+ const char *const little, const STRLEN littlelen)
{
dVAR;
register char *big;