aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--apt-panopticommon.lua26
1 files changed, 14 insertions, 12 deletions
diff --git a/apt-panopticommon.lua b/apt-panopticommon.lua
index e31c22f..0939c3a 100644
--- a/apt-panopticommon.lua
+++ b/apt-panopticommon.lua
@@ -501,6 +501,8 @@ APT.readCmd = function(cmd)
501 table.insert(result, l) 501 table.insert(result, l)
502 end 502 end
503 end 503 end
504 -- While this does return the same things as os.execute(), it's just as useless.
505 output:close()
504 return result 506 return result
505end 507end
506 508
@@ -590,23 +592,23 @@ APT.exe = function(c)
590 I'm getting 7168 or 0. No idea what the fuck that is. 592 I'm getting 7168 or 0. No idea what the fuck that is.
591 local ok, rslt, status = os.execute(s) 593 local ok, rslt, status = os.execute(s)
592 ]] 594 ]]
593 local f = APT.readCmd(self.cmd, 'r') 595 local f = APT.readCmd(self.cmd .. '; echo "$?"', 'r')
594 -- The last line will be the command's returned status, collect everything else in result. 596 -- The last line will be the command's returned status, collect everything else in result.
595 self.status = '' -- Otherwise the result starts with 0. 597 self.status = tonumber(f[#f])
598 f[#f] = nil
596 self.result = '\n' 599 self.result = '\n'
597 for i,l in ipairs(f) do 600 for i,l in ipairs(f) do
598 self.result = self.result .. l .. "\n" 601 self.result = self.result .. l .. "\n"
599 end 602 end
600 f = APT.readCmd('echo "$?"', 'r') 603 if (137 == self.status) or (124 == self.status) then
601 for i,l in ipairs(f) do 604 print("timeout killed " .. self.status .. ' ' .. self.command)
602 self.status = tonumber(l) 605 print('ERROR ' .. "timeout killed " .. self.status .. ' ' .. self.command)
603 if (137 == self.status) or (124 == self.status) then 606 elseif (nil == self.status) then
604 print("timeout killed " .. self.status .. ' ' .. self.command) 607 print("status |" .. "NIL" .. '| ' .. self.command)
605 E("timeout killed " .. self.status .. ' ' .. self.command) 608 E("status |" .. "NIL" .. '| ' .. self.command)
606 elseif (0 ~= self.status) then 609 elseif (0 ~= self.status) then
607 print("status |" .. self.status .. '| ' .. self.command) 610-- print("status |" .. self.status .. '| ' .. self.command)
608 E("status |" .. self.status .. '| ' .. self.command) 611 E("status |" .. self.status .. '| ' .. self.command)
609 end
610 end 612 end
611 return self 613 return self
612 end 614 end