From d1796b2991d347d78cb02d95f09bc4c157b444cc Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 4 Nov 2008 16:11:25 +0000 Subject: [PATCH] * luci/libs/uvl: fix option dependency error handling in case of different non-critical reasons --- libs/uvl/luasrc/uvl.lua | 4 +--- libs/uvl/luasrc/uvl/errors.lua | 8 +++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/uvl/luasrc/uvl.lua b/libs/uvl/luasrc/uvl.lua index 3963a64be..3b3186eb2 100644 --- a/libs/uvl/luasrc/uvl.lua +++ b/libs/uvl/luasrc/uvl.lua @@ -295,9 +295,7 @@ function UVL._validate_option( self, option, nodeps ) if not nodeps then local ok, err = dependencies.check( self, option ) if not ok then - if not err:is_all(ERR.ERR_DEP_NOTEQUAL) and - not err:is_all(ERR.ERR_DEP_NOVALUE) - then + if not err:is_all(ERR.ERR_DEP_NOTEQUAL,ERR.ERR_DEP_NOVALUE) then option:error(err) return false, option:errors() else diff --git a/libs/uvl/luasrc/uvl/errors.lua b/libs/uvl/luasrc/uvl/errors.lua index 983b61923..a575f4059 100644 --- a/libs/uvl/luasrc/uvl/errors.lua +++ b/libs/uvl/luasrc/uvl/errors.lua @@ -185,13 +185,15 @@ function error.is(self, code) return false end -function error.is_all(self, code) - if self.code == code then +function error.is_all(self, ...) + local codes = { ... } + + if util.contains(codes, self.code) then return true else local equal = false for _, c in ipairs(self.childs) do - equal = ( c.code == code ) + equal = util.contains(codes, c.code) end return equal end -- 2.11.0