summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorFlorian Ragwitz <rafl@debian.org>2010-11-30 10:24:26 +0100
committerFlorian Ragwitz <rafl@debian.org>2010-11-30 10:24:26 +0100
commit31b05a0f9f5158b8f1340a8e92be562574510792 (patch)
tree6eef7931e127f42dd98a3da114e6288f6c41cebb /gv.c
parent10533aceddca633dc790cac997abdf25175ed2c8 (diff)
downloadperl-31b05a0f9f5158b8f1340a8e92be562574510792.tar.gz
Eliminate strlen and strEQ usage in gv_fetchmethod
This commit brought to you with the aid of the campaign for elimination of strlen().
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gv.c b/gv.c
index 4775bccf37..9cfc70d00c 100644
--- a/gv.c
+++ b/gv.c
@@ -722,11 +722,12 @@ Perl_gv_fetchmethod_flags(pTHX_ HV *stash, const char *name, U32 flags)
* a filehandle. If IO:File has not been loaded, try to
* require it first instead of croaking */
const char *stash_name = HvNAME_get(stash);
- const char *io_file = "IO/File.pm";
- if (stash_name && strEQ(stash_name,"IO::File")
- && ! hv_exists(GvHVn(PL_incgv),io_file, strlen(io_file))
+ if (stash_name && memEQs(stash_name, HvNAMELEN_get(stash), "IO::File")
+ && !Perl_hv_common(aTHX_ GvHVn(PL_incgv), NULL,
+ STR_WITH_LEN("IO/File.pm"), 0,
+ HV_FETCH_ISEXISTS, NULL, 0)
) {
- require_pv(io_file);
+ require_pv("IO/File.pm");
gv = gv_fetchmeth(stash, name, nend - name, 0);
if (gv)
return gv;