From 7bd7e82063ae0c1d2bff63f94996d5bf3a6c5098 Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Mon, 23 Dec 2019 21:28:26 +0100 Subject: [PATCH] Code chars in data section directly and not escaped --- src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java index d34bbb7..326607d 100644 --- a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java @@ -167,7 +167,11 @@ public class TextModuleWriter extends ModuleWriter { textOutput.append( "(data (i32.const 0) \"" ); byte[] data = dataStream.toByteArray(); for( byte b : data ) { - textOutput.append( '\\' ).append( Character.forDigit( (b >> 4) & 0xF, 16 ) ).append( Character.forDigit( b & 0xF, 16 ) ); + if( b >= ' ' && b < 0x7F && b != '\"' && b != '\\' ) { + textOutput.append( (char)b ); + } else { + textOutput.append( '\\' ).append( Character.forDigit( (b >> 4) & 0xF, 16 ) ).append( Character.forDigit( b & 0xF, 16 ) ); + } } textOutput.append( "\")" ); }