Skip to content

Commit 8510360

Browse files
committed
Fix string-literal splitting to account for utf-8.
1 parent 3d5a834 commit 8510360

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/vm/jvm/QAST/Compiler.nqp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4143,16 +4143,17 @@ class QAST::CompilerJAST {
41434143
result(JAST::PushNVal.new( :value($node.value) ), $RT_NUM)
41444144
}
41454145

4146+
my int $split_point := 21845;
41464147
multi method as_jast(QAST::SVal $node, :$want) {
4147-
if nqp::chars($node.value) <= 65535 {
4148+
if nqp::chars($node.value) <= $split_point {
41484149
result(JAST::PushSVal.new( :value($node.value) ), $RT_STR)
41494150
}
41504151
else {
41514152
my @chunks;
41524153
my $value := $node.value;
4153-
while nqp::chars($value) > 65535 {
4154-
nqp::push(@chunks, nqp::substr($value, 0, 65535));
4155-
$value := nqp::substr($value, 65535);
4154+
while nqp::chars($value) > $split_point {
4155+
nqp::push(@chunks, nqp::substr($value, 0, $split_point));
4156+
$value := nqp::substr($value, $split_point);
41564157
}
41574158
nqp::push(@chunks, $value);
41584159
my $il := JAST::InstructionList.new();

0 commit comments

Comments
 (0)