extra code in pp_concat, Take 2
[p5sagit/p5-mst-13.2.git] / gv.c
diff --git a/gv.c b/gv.c
index 77d35a7..8ad546d 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -112,8 +112,8 @@ Perl_gv_init(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, int multi)
     sv_upgrade((SV*)gv, SVt_PVGV);
     if (SvLEN(gv)) {
        if (proto) {
-           SvPVX(gv) = NULL;
-           SvLEN(gv) = 0;
+           SvPV_set(gv, NULL);
+           SvLEN_set(gv, 0);
            SvPOK_off(gv);
        } else
            Safefree(SvPVX(gv));
@@ -122,7 +122,9 @@ Perl_gv_init(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, int multi)
     GvGP(gv) = gp_ref(gp);
     GvSV(gv) = NEWSV(72,0);
     GvLINE(gv) = CopLINE(PL_curcop);
-    GvFILE(gv) = CopFILE(PL_curcop) ? CopFILE(PL_curcop) : "";
+    /* XXX Ideally this cast would be replaced with a change to const char*
+       in the struct.  */
+    GvFILE(gv) = CopFILE(PL_curcop) ? CopFILE(PL_curcop) : (char *) "";
     GvCVGEN(gv) = 0;
     GvEGV(gv) = gv;
     sv_magic((SV*)gv, (SV*)gv, PERL_MAGIC_glob, Nullch, 0);
@@ -523,8 +525,8 @@ Perl_gv_autoload4(pTHX_ HV *stash, const char *name, STRLEN len, I32 method)
          * pass along the same data via some unused fields in the CV
          */
         CvSTASH(cv) = stash;
-        SvPVX(cv) = (char *)name; /* cast to lose constness warning */
-        SvCUR(cv) = len;
+        SvPV_set(cv, (char *)name); /* cast to lose constness warning */
+        SvCUR_set(cv, len);
         return gv;
     }
 
@@ -672,7 +674,8 @@ Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN full_len, I32 flags,
     I32 len;
     register const char *namend;
     HV *stash = 0;
-    I32 add = flags & ~SVf_UTF8;
+    const I32 add = flags & ~SVf_UTF8;
+    (void)full_len;
 
     if (*name == '*' && isALPHA(name[1])) /* accidental stringify on a GV? */
        name++;
@@ -1187,7 +1190,7 @@ Perl_newIO(pTHX)
     /* unless exists($main::{FileHandle}) and defined(%main::FileHandle::) */
     if (!(iogv && GvHV(iogv) && HvARRAY(GvHV(iogv))))
       iogv = gv_fetchpv("IO::Handle::", TRUE, SVt_PVHV);
-    SvSTASH(io) = (HV*)SvREFCNT_inc(GvHV(iogv));
+    SvSTASH_set(io, (HV*)SvREFCNT_inc(GvHV(iogv)));
     return io;
 }
 
@@ -1230,7 +1233,7 @@ Perl_gv_check(pTHX_ HV *stash)
                }
                CopLINE_set(PL_curcop, GvLINE(gv));
 #ifdef USE_ITHREADS
-               CopFILE(PL_curcop) = file;      /* set for warning */
+               CopFILE(PL_curcop) = (char *)file;      /* set for warning */
 #else
                CopFILEGV(PL_curcop) = gv_fetchfile(file);
 #endif
@@ -1317,6 +1320,8 @@ int
 Perl_magic_freeovrld(pTHX_ SV *sv, MAGIC *mg)
 {
     AMT *amtp = (AMT*)mg->mg_ptr;
+    (void)sv;
+
     if (amtp && AMT_AMAGIC(amtp)) {
        int i;
        for (i = 1; i < NofAMmeth; i++) {
@@ -1567,7 +1572,7 @@ Perl_amagic_call(pTHX_ SV *left, SV *right, int method, int flags)
                 */
                SV* newref = newSVsv(tmpRef);
                SvOBJECT_on(newref);
-               SvSTASH(newref) = (HV*)SvREFCNT_inc(SvSTASH(tmpRef));
+               SvSTASH_set(newref, (HV*)SvREFCNT_inc(SvSTASH(tmpRef)));
                return newref;
             }
           }
@@ -1867,6 +1872,7 @@ pointers returned by SvPV.
 bool
 Perl_is_gv_magical(pTHX_ const char *name, STRLEN len, U32 flags)
 {
+    (void)flags;
     if (len > 1) {
        const char *name1 = name + 1;
        switch (*name) {