diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2012-05-17 05:06:19 +0000 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2012-05-17 05:06:19 +0000 |
commit | fa191806c838d1b2ce127ea53db0c1d7ee2ec431 (patch) | |
tree | b0ade28684529aadb24824072990611f08d7117b | |
parent | b257cb576d59a5f9453eafea611fa4393287ecea (diff) | |
download | awall-0.1.2.tar.bz2 awall-0.1.2.tar.xz |
report JSON file name on parse errorv0.1.2
-rw-r--r-- | awall/policy.lua | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/awall/policy.lua b/awall/policy.lua index af00ace..a680052 100644 --- a/awall/policy.lua +++ b/awall/policy.lua @@ -74,13 +74,21 @@ end function PolicySet:loadJSON(name, fname) - local file = fname and io.open(fname) or open(name, self.importdirs) + local file + if fname then + file = io.open(fname) + else + file, fname = open(name, self.importdirs) + end if not file then error('Import failed: '..name) end local data = '' for line in file:lines() do data = data..line end file:close() - return json.decode(data) + + local success, res = pcall(json.decode, data) + if success then return res end + error(res..' while parsing '..fname) end |