Change 14246 by jhi@alpha on 2002/01/13 19:38:17
Move the UTF-8 conversion code earlier so that
op/ver is happy.
Affected files ...
.... //depot/perl/sv.c#509 edit
.... //depot/perl/t/op/ver.t#22 edit
Differences ...
==== //depot/perl/sv.c#509 (text) ====
Index: perl/sv.c
--- perl/sv.c.~1~ Sun Jan 13 12:45:05 2002
+++ perl/sv.c Sun Jan 13 12:45:05 2002
@@ -8337,6 +8337,22 @@
continue; /* not "break" */
}
+ if (is_utf8 != has_utf8) {
+ if (is_utf8) {
+ if (SvCUR(sv))
+ sv_utf8_upgrade(sv);
+ }
+ else {
+ SV *nsv = sv_2mortal(newSVpvn(eptr, elen));
+ sv_utf8_upgrade(nsv);
+ eptr = SvPVX(nsv);
+ elen = SvCUR(nsv);
+ }
+ SvGROW(sv, SvCUR(sv) + elen + 1);
+ p = SvEND(sv);
+ *p = '\0';
+ }
+
have = esignlen + zeros + elen;
need = (have > width ? have : width);
gap = need - have;
@@ -8360,20 +8376,6 @@
*p++ = '0';
}
if (elen) {
- if (is_utf8 != has_utf8) {
- if (is_utf8) {
- if (SvCUR(sv))
- sv_utf8_upgrade(sv);
- }
- else {
- SV *nsv = sv_2mortal(newSVpvn(eptr, elen));
- sv_utf8_upgrade(nsv);
- eptr = SvPVX(nsv);
- elen = SvCUR(nsv);
- }
- SvGROW(sv, SvCUR(sv) + elen + 1);
- p = SvEND(sv);
- }
Copy(eptr, p, elen, char);
p += elen;
}
==== //depot/perl/t/op/ver.t#22 (xtext) ====
Index: perl/t/op/ver.t
--- perl/t/op/ver.t.~1~ Sun Jan 13 12:45:05 2002
+++ perl/t/op/ver.t Sun Jan 13 12:45:05 2002
@@ -208,7 +208,7 @@
my $v = sprintf("%d.%.3d%.3d",$revision,$version,$subversion);
-ok( $v eq "$]", "\$^V eq \$] (string)");
+ok( $v eq "$]", qq{"\$^V eq "\$]"});
$v = $revision + $version/1000 + $subversion/1000000;
End of Patch.