From 00c067f6425219693db86fe9bfe4d186883c60e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 22 Jun 2014 15:19:04 +0200 Subject: [PATCH 1/2] Fixed something that doesn't fix anything. --- .../oc/common/tileentity/traits/power/IndustrialCraft2.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/common/tileentity/traits/power/IndustrialCraft2.scala b/src/main/scala/li/cil/oc/common/tileentity/traits/power/IndustrialCraft2.scala index f702f302a..c34c8fbe6 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/traits/power/IndustrialCraft2.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/traits/power/IndustrialCraft2.scala @@ -37,7 +37,7 @@ trait IndustrialCraft2 extends Common with IEnergySink { @Optional.Method(modid = "IC2") def injectEnergyUnits(directionFrom: ForgeDirection, amount: Double) = - tryChangeBuffer(directionFrom, amount * Settings.ratioIC2) / Settings.ratioIC2 + amount - tryChangeBuffer(directionFrom, amount * Settings.ratioIC2) / Settings.ratioIC2 @Optional.Method(modid = "IC2") def getMaxSafeInput = Integer.MAX_VALUE From 3ef341358611194a783a6bec0fa2780cda45ba50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 22 Jun 2014 16:39:33 +0200 Subject: [PATCH 2/2] Fixed wget not closing and deleting files when erroring while downloading. Made wget more friendly when used by other programs, added -Q option (superquit, no output whatsoever). --- .../lua/component/internet/bin/wget.lua | 45 ++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/src/main/resources/assets/opencomputers/lua/component/internet/bin/wget.lua b/src/main/resources/assets/opencomputers/lua/component/internet/bin/wget.lua index ca51ba170..15994123f 100644 --- a/src/main/resources/assets/opencomputers/lua/component/internet/bin/wget.lua +++ b/src/main/resources/assets/opencomputers/lua/component/internet/bin/wget.lua @@ -10,11 +10,13 @@ if not component.isAvailable("internet") then end local args, options = shell.parse(...) +options.q = options.q or options.Q if #args < 1 then io.write("Usage: wget [-fq] []\n") io.write(" -f: Force overwriting existing files.\n") - io.write(" -q: Quiet mode - no status messages.") + io.write(" -q: Quiet mode - no status messages.\n") + io.write(" -Q: Superquiet mode - no error messages.") return end @@ -33,22 +35,28 @@ if not filename then end filename = text.trim(filename) if filename == "" then - io.stderr:write("could not infer filename, please specify one") - return + if not options.Q then + io.stderr:write("could not infer filename, please specify one") + end + return nil, "missing target filename" -- for programs using wget as a function end filename = shell.resolve(filename) if fs.exists(filename) then if not options.f or not os.remove(filename) then - io.stderr:write("file already exists") - return + if not options.Q then + io.stderr:write("file already exists") + end + return nil, "file already exists" -- for programs using wget as a function end end local f, reason = io.open(filename, "wb") if not f then - io.stderr:write("failed opening file for writing: " .. reason) - return + if not options.Q then + io.stderr:write("failed opening file for writing: " .. reason) + end + return nil, "failed opening file for writing: " .. reason -- for programs using wget as a function end if not options.q then @@ -56,8 +64,21 @@ if not options.q then end local result, response = pcall(internet.request, url) if result then - for chunk in response do - f:write(chunk) + local result, reason = pcall(function() + for chunk in response do + f:write(chunk) + end + end) + if not result then + if not options.q then + io.stderr:write("failed.\n") + end + f:close() + fs.remove(filename) + if not options.Q then + io.stderr:write("HTTP request failed: " .. reason .. "\n") + end + return nil, reason -- for programs using wget as a function end if not options.q then io.write("success.\n") @@ -73,5 +94,9 @@ else end f:close() fs.remove(filename) - io.stderr:write("HTTP request failed: " .. response .. "\n") + if not options.Q then + io.stderr:write("HTTP request failed: " .. response .. "\n") + end + return nil, response -- for programs using wget as a function end +return true -- for programs using wget as a function \ No newline at end of file