]> git.e2factory.org Git - e2factory.git/commitdiff
Simplify man viewer execution
authorTobias Ulmer <tu@emlix.com>
Fri, 29 Nov 2013 17:41:34 +0000 (18:41 +0100)
committerTobias Ulmer <tu@emlix.com>
Wed, 16 Nov 2016 14:41:17 +0000 (15:41 +0100)
Signed-off-by: Tobias Ulmer <tu@emlix.com>
generic/e2option.lua

index be1fd4b4ce25dca50f49aa091faf350439b8ff72..da9e4d1dd6e8f39227e4cc58347e21cb3c718677 100644 (file)
@@ -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)