Integrate perlio:
Jarkko Hietaniemi [Sun, 24 Mar 2002 13:58:44 +0000 (13:58 +0000)]
[ 15462]
Avoid core-dump in Encode with PERLIO=mmap
p4raw-link: @15462 on //depot/perlio: b4d9096427023cc00e82f9ecbc4205dfe7395a78

p4raw-id: //depot/perl@15466
p4raw-integrated: from //depot/perlio@15465 'copy in'
ext/Encode/Encode.xs (@15462..)

ext/Encode/Encode.xs

index 8fb4106..e4f7b10 100644 (file)
@@ -576,7 +576,15 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src,
        if (check) {
            sdone = SvCUR(src) - (slen+sdone);
            if (sdone) {
+#if 1
+               /* FIXME: A Move() is dangerous - PV could be mmap'ed readonly
+                  SvOOK would be ideal - but sv_backoff does not understand SvLEN == 0
+                  type SVs and sv_clear() calls it ...
+                */
+               sv_setpvn(src,s+slen,sdone);
+#else
                Move(s + slen, SvPVX(src), sdone , U8);
+#endif
            }
            SvCUR_set(src, sdone);
        }