summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-06-14 11:06:02 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-06-14 11:06:02 +0000
commit17fa0776055c3d6ef5e8451cfcb9e194ca912faa (patch)
tree2900e3b26ff3b818ea7bbdc691fa82883d31d269 /pp.c
parentf24aceb1b6884bbb6aae2a756c35663bc6fac2c3 (diff)
downloadperl-17fa0776055c3d6ef5e8451cfcb9e194ca912faa.tar.gz
Fix [perl #43207] lc() or uc() inside sort affect the return value.
p4raw-id: //depot/perl@31377
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/pp.c b/pp.c
index 830d5fb60c..51af7d8c41 100644
--- a/pp.c
+++ b/pp.c
@@ -3522,7 +3522,7 @@ PP(pp_ucfirst)
need = slen + 1;
}
- if (SvPADTMP(source) && !SvREADONLY(source) && inplace) {
+ if (SvPADTMP(source) && !SvREADONLY(source) && inplace && SvTEMP(source)) {
/* We can convert in place. */
dest = source;
@@ -3605,7 +3605,7 @@ PP(pp_uc)
SvGETMAGIC(source);
if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
- && !DO_UTF8(source)) {
+ && SvTEMP(source) && !DO_UTF8(source)) {
/* We can convert in place. */
dest = source;
@@ -3705,7 +3705,7 @@ PP(pp_lc)
SvGETMAGIC(source);
if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
- && !DO_UTF8(source)) {
+ && SvTEMP(source) && !DO_UTF8(source)) {
/* We can convert in place. */
dest = source;