Skip to content

Commit f0c3ff9

Browse files
authored
Merge pull request #71 from BirdeeHub/clifix
fix(cli): error handling improvements
2 parents 46751e3 + e9a4091 commit f0c3ff9

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

bin/tomlua

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -288,10 +288,13 @@ if not fn then
288288
fn = function (...)
289289
local res = {}
290290
for _, v in ipairs({...}) do
291+
local err
291292
if dont_read then
292-
res = tomlua.decode(read_file(v), res)
293+
res, err = tomlua.decode(read_file(v), res)
294+
assert(not err, ("failed to decode file '%s': %s"):format(v, err))
293295
else
294-
res = tomlua.decode(v, res)
296+
res, err = tomlua.decode(v, res)
297+
assert(not err, ("failed to decode file: %s"):format(err))
295298
end
296299
end
297300
return res
@@ -300,12 +303,16 @@ end
300303
local result = fn((unpack or table.unpack)(inputs))
301304
if result then
302305
if outpath then
306+
local v, msg = tomlua.encode(result)
307+
assert(not msg, ("failed to encode result: %s"):format(msg))
303308
local f, err = io.open(outpath, "wb")
304309
assert(f, ("failed to open file '%s' for writing: %s"):format(outpath, err))
305-
local success, werr = f:write(tomlua.encode(result))
310+
local success, werr = f:write(v)
306311
f:close()
307312
assert(success, ("failed to write file '%s': %s"):format(outpath, werr))
308313
else
309-
print(tomlua.encode(result))
314+
local v, msg = tomlua.encode(result)
315+
assert(not msg, ("failed to encode result: %s"):format(msg))
316+
io.write(v)
310317
end
311318
end

0 commit comments

Comments
 (0)