Add get_cvs() as a shortcut for STR_WITH_LEN() and Perl_get_cvn_flags(), and
Nicholas Clark [Wed, 21 Jan 2009 16:41:58 +0000 (16:41 +0000)]
use it where possible.

ext/Devel/DProf/DProf.xs
ext/DynaLoader/dlutils.c
ext/PerlIO/encoding/encoding.xs
handy.h
op.c
perlio.c
pp_ctl.c

index e3faa4a..ea36b24 100644 (file)
@@ -470,7 +470,7 @@ prof_mark(pTHX_ opcode ptype)
 static void
 test_time(pTHX_ clock_t *r, clock_t *u, clock_t *s)
 {
-    CV * const cv = perl_get_cv("Devel::DProf::NONESUCH_noxs", 0);
+    CV * const cv = get_cvs("Devel::DProf::NONESUCH_noxs", 0);
     HV * const oldstash = PL_curstash;
     struct tms t1, t2;
     const U32 ototal = g_total;
index 82818a9..1ba9a61 100644 (file)
@@ -68,7 +68,7 @@ dl_unload_all_files(pTHX_ void *unused)
     AV *dl_librefs;
     SV *dl_libref;
 
-    if ((sub = get_cv("DynaLoader::dl_unload_file", 0)) != NULL) {
+    if ((sub = get_cvs("DynaLoader::dl_unload_file", 0)) != NULL) {
         dl_librefs = get_av("DynaLoader::dl_librefs", 0);
         while ((dl_libref = av_pop(dl_librefs)) != &PL_sv_undef) {
            dSP;
index f1b0742..dc69819 100644 (file)
@@ -639,7 +639,7 @@ BOOT:
      */
     PUSHSTACKi(PERLSI_MAGIC);
     SPAGAIN;
-    if (!get_cv(OUR_DEFAULT_FB, 0)) {
+    if (!get_cvs(OUR_DEFAULT_FB, 0)) {
 #if 0
        /* This would just be an irritant now loading works */
        Perl_warner(aTHX_ packWARN(WARN_IO), ":encoding without 'use Encode'");
diff --git a/handy.h b/handy.h
index e82a644..75080cb 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -327,6 +327,8 @@ and omits the hash parameter.
   ((SV **)Perl_hv_common(aTHX_ (hv), NULL, STR_WITH_LEN(key), 0,       \
                         (HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), (val), 0))
 
+#define get_cvs(str, flags)                                    \
+       Perl_get_cvn_flags(aTHX_ STR_WITH_LEN(str), (flags))
 
 /*
 =head1 Miscellaneous Functions
diff --git a/op.c b/op.c
index e32cbdb..5103efb 100644 (file)
--- a/op.c
+++ b/op.c
@@ -2338,8 +2338,7 @@ Perl_newPROG(pTHX_ OP *o)
 
        /* Register with debugger */
        if (PERLDB_INTER) {
-           CV * const cv
-               = Perl_get_cvn_flags(aTHX_ STR_WITH_LEN("DB::postponed"), 0);
+           CV * const cv = get_cvs("DB::postponed", 0);
            if (cv) {
                dSP;
                PUSHMARK(SP);
index 5db65b9..b935734 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -807,7 +807,7 @@ PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load)
        } else {
            SV * const pkgsv = newSVpvs("PerlIO");
            SV * const layer = newSVpvn(name, len);
-           CV * const cv    = Perl_get_cvn_flags(aTHX_ STR_WITH_LEN("PerlIO::Layer::NoWarnings"), 0);
+           CV * const cv    = get_cvs("PerlIO::Layer::NoWarnings", 0);
            ENTER;
            SAVEINT(PL_in_load_module);
            if (cv) {
index e788197..f118d57 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2575,7 +2575,7 @@ PP(pp_goto)
                if (PERLDB_SUB) {       /* Checking curstash breaks DProf. */
                    Perl_get_db_sub(aTHX_ NULL, cv);
                    if (PERLDB_GOTO) {
-                       CV * const gotocv = get_cv("DB::goto", 0);
+                       CV * const gotocv = get_cvs("DB::goto", 0);
                        if (gotocv) {
                            PUSHMARK( PL_stack_sp );
                            call_sv(MUTABLE_SV(gotocv), G_SCALAR | G_NODEBUG);
@@ -3098,7 +3098,7 @@ S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq)
 
     /* Register with debugger: */
     if (PERLDB_INTER && saveop && saveop->op_type == OP_REQUIRE) {
-       CV * const cv = get_cv("DB::postponed", 0);
+       CV * const cv = get_cvs("DB::postponed", 0);
        if (cv) {
            dSP;
            PUSHMARK(SP);