93 lines
3.3 KiB
Diff
93 lines
3.3 KiB
Diff
|
From e2cace1e9e89525afbca257742ddb36630b7fbc3 Mon Sep 17 00:00:00 2001
|
||
|
From: Yves Orton <demerphq@gmail.com>
|
||
|
Date: Tue, 13 Sep 2016 23:10:48 +0200
|
||
|
Subject: [PATCH 3/5] clean up gv_fetchmethod_pvn_flags: rename nsplit to
|
||
|
last_separator
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
nsplit if set points at the first char of the last separator
|
||
|
in name, so rename it so it is more comprehensible what it means.
|
||
|
|
||
|
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||
|
---
|
||
|
gv.c | 24 ++++++++++++------------
|
||
|
1 file changed, 12 insertions(+), 12 deletions(-)
|
||
|
|
||
|
diff --git a/gv.c b/gv.c
|
||
|
index fe38d44..07709a0 100644
|
||
|
--- a/gv.c
|
||
|
+++ b/gv.c
|
||
|
@@ -1011,7 +1011,7 @@ Perl_gv_fetchmethod_pvn_flags(pTHX_ HV *stash, const char *name, const STRLEN le
|
||
|
const char * const origname = name;
|
||
|
const char * const name_end = name + len;
|
||
|
const char *nend;
|
||
|
- const char *nsplit = NULL;
|
||
|
+ const char *last_separator = NULL;
|
||
|
GV* gv;
|
||
|
HV* ostash = stash;
|
||
|
SV *const error_report = MUTABLE_SV(stash);
|
||
|
@@ -1024,38 +1024,38 @@ Perl_gv_fetchmethod_pvn_flags(pTHX_ HV *stash, const char *name, const STRLEN le
|
||
|
if (SvTYPE(stash) < SVt_PVHV)
|
||
|
stash = NULL;
|
||
|
else {
|
||
|
- /* The only way stash can become NULL later on is if nsplit is set,
|
||
|
+ /* The only way stash can become NULL later on is if last_separator is set,
|
||
|
which in turn means that there is no need for a SVt_PVHV case
|
||
|
the error reporting code. */
|
||
|
}
|
||
|
|
||
|
for (nend = name; *nend || nend != name_end; nend++) {
|
||
|
if (*nend == '\'') {
|
||
|
- nsplit = nend;
|
||
|
+ last_separator = nend;
|
||
|
name = nend + 1;
|
||
|
}
|
||
|
else if (*nend == ':' && *(nend + 1) == ':') {
|
||
|
- nsplit = nend++;
|
||
|
+ last_separator = nend++;
|
||
|
name = nend + 1;
|
||
|
}
|
||
|
}
|
||
|
- if (nsplit) {
|
||
|
- if ((nsplit - origname) == 5 && memEQ(origname, "SUPER", 5)) {
|
||
|
+ if (last_separator) {
|
||
|
+ if ((last_separator - origname) == 5 && memEQ(origname, "SUPER", 5)) {
|
||
|
/* ->SUPER::method should really be looked up in original stash */
|
||
|
stash = CopSTASH(PL_curcop);
|
||
|
flags |= GV_SUPER;
|
||
|
DEBUG_o( Perl_deb(aTHX_ "Treating %s as %s::%s\n",
|
||
|
origname, HvENAME_get(stash), name) );
|
||
|
}
|
||
|
- else if ((nsplit - origname) >= 7 &&
|
||
|
- strnEQ(nsplit - 7, "::SUPER", 7)) {
|
||
|
+ else if ((last_separator - origname) >= 7 &&
|
||
|
+ strnEQ(last_separator - 7, "::SUPER", 7)) {
|
||
|
/* don't autovifify if ->NoSuchStash::SUPER::method */
|
||
|
- stash = gv_stashpvn(origname, nsplit - origname - 7, is_utf8);
|
||
|
+ stash = gv_stashpvn(origname, last_separator - origname - 7, is_utf8);
|
||
|
if (stash) flags |= GV_SUPER;
|
||
|
}
|
||
|
else {
|
||
|
/* don't autovifify if ->NoSuchStash::method */
|
||
|
- stash = gv_stashpvn(origname, nsplit - origname, is_utf8);
|
||
|
+ stash = gv_stashpvn(origname, last_separator - origname, is_utf8);
|
||
|
}
|
||
|
ostash = stash;
|
||
|
}
|
||
|
@@ -1098,8 +1098,8 @@ Perl_gv_fetchmethod_pvn_flags(pTHX_ HV *stash, const char *name, const STRLEN le
|
||
|
else {
|
||
|
SV* packnamesv;
|
||
|
|
||
|
- if (nsplit) {
|
||
|
- packnamesv = newSVpvn_flags(origname, nsplit - origname,
|
||
|
+ if (last_separator) {
|
||
|
+ packnamesv = newSVpvn_flags(origname, last_separator - origname,
|
||
|
SVs_TEMP | is_utf8);
|
||
|
} else {
|
||
|
packnamesv = error_report;
|
||
|
--
|
||
|
2.7.4
|
||
|
|