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