This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Stop using PL_glob_index for PL_globhook
[perl5.git] / ext / File-Glob / Glob.xs
index 252c2ed..50bb2da 100644 (file)
@@ -67,17 +67,13 @@ iterate(pTHX_ bool(*globber)(pTHX_ AV *entries, SV *patsv))
     dSP;
     dMY_CXT;
 
-    SV * const cxixsv = POPs;
-    const char *cxixpv;
-    STRLEN cxixlen;
+    const char * const cxixpv = (char *)&PL_op;
+    STRLEN const cxixlen = sizeof(OP *);
     AV *entries;
     U32 const gimme = GIMME_V;
     SV *patsv = POPs;
     bool on_stack = FALSE;
 
-    SvGETMAGIC(cxixsv);
-    cxixpv = SvPV_nomg(cxixsv, cxixlen);
-
     if (!MY_CXT.x_GLOB_ENTRIES) MY_CXT.x_GLOB_ENTRIES = newHV();
     entries = (AV *)*(hv_fetch(MY_CXT.x_GLOB_ENTRIES, cxixpv, cxixlen, 1));
 
@@ -359,8 +355,6 @@ PPCODE:
     else {
        XPUSHs(&PL_sv_undef);
     }
-    XPUSHs(newSVpvn_flags((char *)&PL_op, sizeof(OP *), SVs_TEMP));
-    sv_catpvs(*SP, "_"); /* Avoid conflicts with PL_glob_index */
     PUTBACK;
     csh_glob_iter(aTHX);
     SPAGAIN;
@@ -372,8 +366,6 @@ PPCODE:
     else {
        XPUSHs(&PL_sv_undef);
     }
-    XPUSHs(newSVpvn_flags((char *)&PL_op, sizeof(OP *), SVs_TEMP));
-    sv_catpvs(*SP, "_"); /* Avoid conflicts with PL_glob_index */
     PUTBACK;
     iterate(aTHX_ doglob_iter_wrapper);
     SPAGAIN;