From 9e427d9063a5d0180b8acc8705c3c2d7b0c01bcc Mon Sep 17 00:00:00 2001 From: Jokler Date: Sat, 6 Jul 2019 01:32:12 +0200 Subject: Main: Update dependencies and remove clippy plugin --- src/plugins/factoid/mod.rs | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'src/plugins/factoid/mod.rs') diff --git a/src/plugins/factoid/mod.rs b/src/plugins/factoid/mod.rs index 4fcc7a0..5a484e6 100644 --- a/src/plugins/factoid/mod.rs +++ b/src/plugins/factoid/mod.rs @@ -210,20 +210,23 @@ impl Factoid { .collect::>(); let lua = unsafe { Lua::new_with_debug() }; - let globals = lua.globals(); - - globals.set("factoid", code)?; - globals.set("download", lua.create_function(download)?)?; - globals.set("json_decode", lua.create_function(json_decode)?)?; - globals.set("sleep", lua.create_function(sleep)?)?; - globals.set("args", args)?; - globals.set("input", command.tokens.join(" "))?; - globals.set("user", command.source.clone())?; - globals.set("channel", command.target.clone())?; - globals.set("output", lua.create_table()?)?; - - lua.exec::<()>(LUA_SANDBOX, Some(name))?; - let output: Vec = globals.get::<_, Vec>("output")?; + let output = lua.context(|ctx| { + let globals = ctx.globals(); + + globals.set("factoid", code)?; + globals.set("download", ctx.create_function(|ctx, url| download(&ctx, url))?)?; + globals.set("json_decode", ctx.create_function(|ctx, json| json_decode(&ctx, json))?)?; + globals.set("sleep", ctx.create_function(|ctx, ms| sleep(&ctx, ms))?)?; + globals.set("args", args)?; + globals.set("input", command.tokens.join(" "))?; + globals.set("user", command.source.clone())?; + globals.set("channel", command.target.clone())?; + globals.set("output", ctx.create_table()?)?; + + ctx.load(LUA_SANDBOX).set_name(name)?.exec()?; + + Ok(globals.get::<_, Vec>("output")?) + })?; Ok(output.join("|")) } -- cgit v1.2.3-70-g09d2