In Perl_lex_start(), use newSVpvn_flags() to reduce source and object size.
authorNicholas Clark <nick@ccl4.org>
Mon, 5 Jul 2010 11:45:19 +0000 (12:45 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 5 Jul 2010 11:45:19 +0000 (12:45 +0100)
toke.c

diff --git a/toke.c b/toke.c
index 5e2dc75..0decca8 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -715,8 +715,8 @@ Perl_lex_start(pTHX_ SV *line, PerlIO *rsfp, bool new_filter)
     if (!len) {
        parser->linestr = newSVpvs("\n;");
     } else if (SvREADONLY(line) || s[len-1] != ';' || !SvPOK(line)) {
-       parser->linestr = newSV_type(SVt_PV);
-       sv_copypv(parser->linestr, line); /* avoid tie/overload weirdness */
+       /* avoid tie/overload weirdness */
+       parser->linestr = newSVpvn_flags(s, len, SvUTF8(line));
        if (s[len-1] != ';')
            sv_catpvs(parser->linestr, "\n;");
     } else {