From f11d384b510e96cf8e5cae01972914af2436030c Mon Sep 17 00:00:00 2001 From: payonel Date: Tue, 20 Feb 2018 07:44:41 -0800 Subject: [PATCH] follow fail pattern for addUser: throw on bad arg, nil on bad result closes #2156 --- .../oc/server/machine/luac/ComputerAPI.scala | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/scala/li/cil/oc/server/machine/luac/ComputerAPI.scala b/src/main/scala/li/cil/oc/server/machine/luac/ComputerAPI.scala index f66693a5c..6404f85b3 100644 --- a/src/main/scala/li/cil/oc/server/machine/luac/ComputerAPI.scala +++ b/src/main/scala/li/cil/oc/server/machine/luac/ComputerAPI.scala @@ -77,15 +77,18 @@ class ComputerAPI(owner: NativeLuaArchitecture) extends NativeLuaAPI(owner) { }) lua.setField(-2, "users") - lua.pushScalaFunction(lua => try { - machine.addUser(lua.checkString(1)) - lua.pushBoolean(true) - 1 - } catch { - case e: Throwable => - lua.pushNil() - lua.pushString(Option(e.getMessage).getOrElse(e.toString)) - 2 + lua.pushScalaFunction(lua => { + val user = lua.checkString(1) + try { + machine.addUser(user) + lua.pushBoolean(true) + 1 + } catch { + case e: Throwable => + lua.pushNil() + lua.pushString(Option(e.getMessage).getOrElse(e.toString)) + 2 + } }) lua.setField(-2, "addUser")