diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-06-30 11:40:37 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-06-30 11:40:37 +0000 |
commit | d0043bd135485a532d9aee2280acc8b2d782baa4 (patch) | |
tree | 221557e4e0e1619fa6f56f6d6112e1a560cb19ab | |
parent | e6830b1398c4e7ce4800aa72b564ebd81702e14c (diff) | |
download | perl-d0043bd135485a532d9aee2280acc8b2d782baa4.tar.gz |
Replace newSVpv(...,0) with newSVpvn where we know the length.
p4raw-id: //depot/perl@25022
-rw-r--r-- | perl.c | 6 | ||||
-rw-r--r-- | regcomp.c | 2 | ||||
-rw-r--r-- | sv.c | 4 |
3 files changed, 7 insertions, 5 deletions
@@ -3061,8 +3061,10 @@ Perl_moreswitches(pTHX_ char *s) SV *sv; const char *use = "use "; /* -M-foo == 'no foo' */ - if (*s == '-') { use = "no "; ++s; } - sv = newSVpv(use,0); + /* Leading space on " no " is deliberate, to make both + possibilities the same length. */ + if (*s == '-') { use = " no "; ++s; } + sv = newSVpvn(use,4); start = s; /* We allow -M'Module qw(Foo Bar)' */ while(isALNUM(*s) || *s==':') ++s; @@ -765,7 +765,7 @@ and would end up looking like: DEBUG_TRIE_COMPILE_r({ \ SV *tmp; \ if ( UTF ) { \ - tmp = newSVpv( "", 0 ); \ + tmp = newSVpvn( "", 0 ); \ pv_uni_display( tmp, uc, len, 60, UNI_DISPLAY_REGEX ); \ } else { \ tmp = Perl_newSVpvf_nocontext( "%c", (int)uvc ); \ @@ -988,7 +988,7 @@ S_find_uninit_var(pTHX_ OP* obase, SV* uninit_sv, bool match) case OP_SCHOMP: case OP_CHOMP: if (SvROK(PL_rs) && uninit_sv == SvRV(PL_rs)) - return sv_2mortal(newSVpv("${$/}", 0)); + return sv_2mortal(newSVpvn("${$/}", 5)); /* FALL THROUGH */ default: @@ -1837,7 +1837,7 @@ S_not_a_number(pTHX_ SV *sv) const char *pv; if (DO_UTF8(sv)) { - dsv = sv_2mortal(newSVpv("", 0)); + dsv = sv_2mortal(newSVpvn("", 0)); pv = sv_uni_display(dsv, sv, 10, 0); } else { char *d = tmpbuf; |