diff options
author | Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> | 2022-08-17 14:10:39 +0100 |
---|---|---|
committer | Paul Evans <leonerd@leonerd.org.uk> | 2022-08-17 15:59:15 +0100 |
commit | 79277e97f5c8cedf24a2686ea15b74abbc4b643a (patch) | |
tree | f9c7b194b404087d0118fe82ff95db50b32d749b /pad.c | |
parent | 22887b5bfa220f1de2e85d93f5387a8870cc1ae7 (diff) | |
download | perl-79277e97f5c8cedf24a2686ea15b74abbc4b643a.tar.gz |
Add a PadnameREFCNT_inc() macro
Implemented as a static inline function call, so that it can return the
padname pointer itself. This would allow use in expressions such as
ptr->field = PadnameREFCNT_inc(pn);
That makes it similar to the familiar SvREFCNT_inc() macro.
Diffstat (limited to 'pad.c')
-rw-r--r-- | pad.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -613,7 +613,7 @@ Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, SAVEFREEPADNAME(name); /* in case of fatal warnings */ /* check for duplicate declaration */ pad_check_dup(name, flags & padadd_OUR, ourstash); - PadnameREFCNT(name)++; + PadnameREFCNT_inc(name); LEAVE; } @@ -2714,7 +2714,7 @@ Perl_padnamelist_dup(pTHX_ PADNAMELIST *srcpad, CLONE_PARAMS *param) if (PadnamelistARRAY(srcpad)[max]) { PadnamelistARRAY(dstpad)[max] = padname_dup(PadnamelistARRAY(srcpad)[max], param); - PadnameREFCNT(PadnamelistARRAY(dstpad)[max])++; + PadnameREFCNT_inc(PadnamelistARRAY(dstpad)[max]); } return dstpad; @@ -2775,7 +2775,7 @@ Perl_newPADNAMEouter(PADNAME *outer) PadnamePV(pn) = PadnamePV(outer); /* Not PadnameREFCNT(outer), because ‘outer’ may itself close over another entry. The original pad name owns the buffer. */ - PadnameREFCNT(PADNAME_FROM_PV(PadnamePV(outer)))++; + PadnameREFCNT_inc(PADNAME_FROM_PV(PadnamePV(outer))); PadnameFLAGS(pn) = PADNAMEf_OUTER; PadnameLEN(pn) = PadnameLEN(outer); return pn; |