From 8c25e5e228aaecdb60254507e6335546e777c49d Mon Sep 17 00:00:00 2001 From: Anatoly Prohacky Date: Mon, 6 Mar 2023 21:38:53 +1000 Subject: [PATCH] change v0.0.7 --- acl/aclbit.go | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/acl/aclbit.go b/acl/aclbit.go index ead1d1d..b2c1abd 100644 --- a/acl/aclbit.go +++ b/acl/aclbit.go @@ -46,18 +46,37 @@ func (a *AclBit) SetFalse(n ...NumBit) { } // verify bit return true or false -func (a AclBit) Verify(n ...NumBit) bool { - for _, n0 := range n { - if veryNumBit(n0) { - var msk AclBit = 1 << n0 - if (a & msk) == msk { - return true - } +func (a AclBit) Verify(n NumBit) bool { + if veryNumBit(n) { + var msk AclBit = 1 << n + if (a & msk) == msk { + return true } } return false } +// verify or bit return true or false +func (a AclBit) VerifyOr(n ...NumBit) bool { + for _, n0 := range n { + if a.Verify(n0) { + return true + } + } + + return false +} + +// verify and bit return true or false +func (a AclBit) VerifyAnd(n ...NumBit) bool { + for _, n0 := range n { + if !a.Verify(n0) { + return false + } + } + return true +} + // converting acl bits to string func (a AclBit) String() string { return strconv.FormatInt(int64(a), 2)