summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-03-17 20:39:47 +0000
committerNicholas Clark <nick@ccl4.org>2006-03-17 20:39:47 +0000
commitcb9e20bb64f36b65e47caecca6cc3eb11c910175 (patch)
tree735493b9dc5d9cd96d09e0596493f396089f5263 /sv.c
parent45f4726892ee34fcb87cb59a34b8208652d4d517 (diff)
downloadperl-cb9e20bb64f36b65e47caecca6cc3eb11c910175.tar.gz
Remove a duplicated conditional test by putting everything for the
not readonly case inside one block. p4raw-id: //depot/perl@27537
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sv.c b/sv.c
index 5c4722d684..d981d88fab 100644
--- a/sv.c
+++ b/sv.c
@@ -5297,13 +5297,14 @@ Perl_sv_len_utf8(pTHX_ register SV *sv)
}
else {
ulen = Perl_utf8_length(aTHX_ s, s + len);
- if (!mg && !SvREADONLY(sv)) {
- sv_magic(sv, 0, PERL_MAGIC_utf8, 0, 0);
- mg = mg_find(sv, PERL_MAGIC_utf8);
- assert(mg);
- }
- if (mg)
+ if (!SvREADONLY(sv)) {
+ if (!mg) {
+ sv_magic(sv, 0, PERL_MAGIC_utf8, 0, 0);
+ mg = mg_find(sv, PERL_MAGIC_utf8);
+ assert(mg);
+ }
mg->mg_len = ulen;
+ }
}
return ulen;
}