This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Restore perlrepository.pod in stub form
[perl5.git] / sv.h
diff --git a/sv.h b/sv.h
index cd15924..2f0eabc 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -528,7 +528,10 @@ struct xpvlv {
     _XPV_HEAD;
     union _xivu xiv_u;
     union _xnvu xnv_u;
-    STRLEN     xlv_targoff;
+    union {
+       STRLEN  xlvu_targoff;
+       SSize_t xlvu_stargoff;
+    } xlv_targoff_u;
     STRLEN     xlv_targlen;
     SV*                xlv_targ;
     char       xlv_type;       /* k=keys .=pos x=substr v=vec /=join/re
@@ -536,6 +539,8 @@ struct xpvlv {
     char       xlv_flags;      /* 1 = negative offset  2 = negative len */
 };
 
+#define xlv_targoff xlv_targoff_u.xlvu_targoff
+
 struct xpvinvlist {
     _XPV_HEAD;
     IV          prev_index;
@@ -1403,6 +1408,7 @@ sv_force_normal does nothing.
 #define LvTYPE(sv)     ((XPVLV*)  SvANY(sv))->xlv_type
 #define LvTARG(sv)     ((XPVLV*)  SvANY(sv))->xlv_targ
 #define LvTARGOFF(sv)  ((XPVLV*)  SvANY(sv))->xlv_targoff
+#define LvSTARGOFF(sv) ((XPVLV*)  SvANY(sv))->xlv_targoff_u.xlvu_stargoff
 #define LvTARGLEN(sv)  ((XPVLV*)  SvANY(sv))->xlv_targlen
 #define LvFLAGS(sv)    ((XPVLV*)  SvANY(sv))->xlv_flags
 
@@ -1970,12 +1976,11 @@ mg.c:1024: warning: left-hand operand of comma expression has no effect
 #define sv_catpvn_nomg_maybeutf8(dsv, sstr, slen, is_utf8) \
        sv_catpvn_flags(dsv, sstr, slen, (is_utf8)?SV_CATUTF8:SV_CATBYTES)
 
-#ifdef PERL_CORE
+#if defined(PERL_CORE) || defined(PERL_EXT)
 # define sv_or_pv_len_utf8(sv, pv, bytelen)          \
     (SvGAMAGIC(sv)                                    \
        ? utf8_length((U8 *)(pv), (U8 *)(pv)+(bytelen)) \
        : sv_len_utf8(sv))
-# define sv_or_pv_pos_u2b(sv,s,p,lp) S_sv_or_pv_pos_u2b(aTHX_ sv,s,p,lp)
 #endif
 
 /*