summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-06-30 11:40:37 +0000
committerNicholas Clark <nick@ccl4.org>2005-06-30 11:40:37 +0000
commitd0043bd135485a532d9aee2280acc8b2d782baa4 (patch)
tree221557e4e0e1619fa6f56f6d6112e1a560cb19ab
parente6830b1398c4e7ce4800aa72b564ebd81702e14c (diff)
downloadperl-d0043bd135485a532d9aee2280acc8b2d782baa4.tar.gz
Replace newSVpv(...,0) with newSVpvn where we know the length.
p4raw-id: //depot/perl@25022
-rw-r--r--perl.c6
-rw-r--r--regcomp.c2
-rw-r--r--sv.c4
3 files changed, 7 insertions, 5 deletions
diff --git a/perl.c b/perl.c
index e573425f1d..56892816c2 100644
--- a/perl.c
+++ b/perl.c
@@ -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;
diff --git a/regcomp.c b/regcomp.c
index 23bc9b902a..d2526b7276 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -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 ); \
diff --git a/sv.c b/sv.c
index 2aa2b5a895..101f8b631b 100644
--- a/sv.c
+++ b/sv.c
@@ -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;