From 5329af05e2e976681da4034abffa2734c9aad870 Mon Sep 17 00:00:00 2001 From: Tobias Ulmer Date: Fri, 29 Nov 2013 18:41:34 +0100 Subject: [PATCH] Simplify man viewer execution Signed-off-by: Tobias Ulmer --- generic/e2option.lua | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/generic/e2option.lua b/generic/e2option.lua index be1fd4b..da9e4d1 100644 --- a/generic/e2option.lua +++ b/generic/e2option.lua @@ -459,33 +459,32 @@ function e2option.showtoolmanpage() end local cmd = {} - for _,s in ipairs({"man"}) do - local viewer, viewerflags - - viewer = tools.get_tool(s) - viewerflags = tools.get_tool_flags(s) - if viewer then - table.insert(cmd, e2lib.shquote(viewer)) - if viewerflags then - viewerflags = table.concat(viewerflags, " ") - end - if viewerflags ~= "" then - table.insert(cmd, viewerflags) - end + local viewer, viewerflags - break + viewer = tools.get_tool("man") + if viewer then + table.insert(cmd, viewer) + + viewerflags = tools.get_tool_flags("man") + if viewerflags then + for _,flag in ipairs(viewerflags) do + table.insert(cmd, flag) + end end end - if #cmd < 1 then + if #cmd == 0 then return false, err.new("Could not find manual viewer to display help") end - table.insert(cmd, e2lib.shquote(mpage)) + table.insert(cmd, mpage) - local rc = os.execute(table.concat(cmd, ' ')) + local rc, re = e2lib.callcmd(cmd, {}) + if not rc then + return false, re + end - return rc/256 -- XXX: os.execute + return rc end return strict.lock(e2option) -- 2.39.5