diff --git a/src/net/torvald/tsvm/VMRunnerFactory.kt b/src/net/torvald/tsvm/VMRunnerFactory.kt index 0e06f8c..8abe738 100644 --- a/src/net/torvald/tsvm/VMRunnerFactory.kt +++ b/src/net/torvald/tsvm/VMRunnerFactory.kt @@ -85,11 +85,11 @@ object VMRunnerFactory { } override suspend fun executeCommand(command: String) { - engine.eval("\"use strict\";" + sanitiseJS(toSingleLine(command)), context) + engine.eval("\"use strict\";" + encapsulateJS(sanitiseJS(command)), context) } override suspend fun evalGlobal(command: String) { - engine.eval("\"use strict\";" + toSingleLine(command), context) + engine.eval("\"use strict\";" + sanitiseJS(command), context) } } } @@ -99,6 +99,7 @@ object VMRunnerFactory { private fun toSingleLine(code: String) = code.replace(Regex("//[^\\n]*"), "").replace('\n', ' ') - private fun sanitiseJS(code: String) = "eval('${toSingleLine(code).replace("\\", "\\\\")}')" + private fun sanitiseJS(code: String) = toSingleLine(code).replace("\\", "\\\\") + private fun encapsulateJS(code: String) = "eval('$code')" } diff --git a/src/net/torvald/tsvm/vdc/V2kRunTest.kt b/src/net/torvald/tsvm/vdc/V2kRunTest.kt index 4528d0e..1902161 100644 --- a/src/net/torvald/tsvm/vdc/V2kRunTest.kt +++ b/src/net/torvald/tsvm/vdc/V2kRunTest.kt @@ -15,7 +15,7 @@ import net.torvald.tsvm.peripheral.GraphicsAdapter class V2kRunTest(val appConfig: LwjglApplicationConfiguration) : ApplicationAdapter() { - val vm = VM(64.kB()) + val vm = VM(64.kB(), TheRealWorld()) lateinit var gpu: GraphicsAdapter lateinit var batch: SpriteBatch