summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2017-02-22 14:44:53 +0000
committerTed Trask <ttrask01@yahoo.com>2017-02-22 14:51:56 +0000
commit94e47b2838a88df3ba8e0d1c74746d62bffa9aef (patch)
tree69a2abb291f71d2da32bb2fc6ab68846add2ef18
parenta9e25de22f10a5521bd141bdebe76175ebec7a53 (diff)
downloadacf-freeradius3-94e47b2838a88df3ba8e0d1c74746d62bffa9aef.tar.bz2
acf-freeradius3-94e47b2838a88df3ba8e0d1c74746d62bffa9aef.tar.xz
Fix error handling in get_config
-rw-r--r--freeradius3-model.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/freeradius3-model.lua b/freeradius3-model.lua
index c7ac6e7..876ad1f 100644
--- a/freeradius3-model.lua
+++ b/freeradius3-model.lua
@@ -28,14 +28,15 @@ local is_valid_filename = function(filename)
end
local get_config = function(filecontent)
+ local errtxt
if not filecontent then
+ filecontent = {}
local res, err = pcall(function()
local code, cmdresult = subprocess.call_capture({"radiusd", "-XC"})
if 0 ~= code then
- return nil, string.match(cmdresult, "([^\n]+)\n$")
+ errtxt = string.match(cmdresult, "([^\n]+)\n?$")
end
- filecontent = {}
- for line in string.gmatch(cmdresult, "[^\n]+") do
+ for line in string.gmatch(cmdresult or "", "[^\n]+") do
if string.match(line, "^including") then
elseif string.match(line, "^Using") then
elseif string.match(line, "^reading") then
@@ -112,7 +113,7 @@ local get_config = function(filecontent)
return result, i+1
end
- return (parselines(1)), nil
+ return (parselines(1)), errtxt
end
local function replacetags(configtable, value)