Optimized uvl.validation
This commit is contained in:
parent
c939a799ce
commit
1bfd6b667b
1 changed files with 11 additions and 9 deletions
|
@ -14,26 +14,28 @@ $Id$
|
||||||
|
|
||||||
]]--
|
]]--
|
||||||
|
|
||||||
module( "luci.uvl.validation", package.seeall )
|
local os = require "os"
|
||||||
|
local fs = require "luci.fs"
|
||||||
|
local sys = require "luci.sys"
|
||||||
|
local ERR = require "luci.uvl.errors"
|
||||||
|
|
||||||
require("luci.fs")
|
local ipairs, unpack, type, tostring = ipairs, unpack, type, tostring
|
||||||
require("luci.sys")
|
|
||||||
|
|
||||||
local ERR = luci.uvl.errors
|
module "luci.uvl.validation"
|
||||||
|
|
||||||
function _exec( bin, args )
|
function _exec( bin, args )
|
||||||
local cmd, output = "", nil
|
local cmd, output = "", nil
|
||||||
|
|
||||||
for _, v in ipairs({ bin, unpack(args) }) do
|
for _, v in ipairs({ bin, unpack(args) }) do
|
||||||
cmd = cmd .. string.format("%q ",v):gsub("([%$`])","\\%1")
|
cmd = cmd .. ("%q " % v):gsub("([%$`])","\\%1")
|
||||||
end
|
end
|
||||||
|
|
||||||
local tmpfile = "/tmp/uvl" .. luci.sys.uniqueid(8)
|
local tmpfile = "/tmp/uvl" .. sys.uniqueid(8)
|
||||||
local retval = os.execute( cmd .. " 1>" .. tmpfile .. " 2>" .. tmpfile )
|
local retval = os.execute( cmd .. " 1>" .. tmpfile .. " 2>" .. tmpfile )
|
||||||
|
|
||||||
if luci.fs.access(tmpfile) then
|
if fs.access(tmpfile) then
|
||||||
output = luci.fs.readfile(tmpfile)
|
output = fs.readfile(tmpfile)
|
||||||
luci.fs.unlink(tmpfile)
|
fs.unlink(tmpfile)
|
||||||
end
|
end
|
||||||
|
|
||||||
return retval, output
|
return retval, output
|
||||||
|
|
Loading…
Reference in a new issue