From a39010bcfca9e9d71f0766cfeba570101ff4c2b4 Mon Sep 17 00:00:00 2001 From: Anatoly Prohacky Date: Sun, 5 Mar 2023 18:40:21 +1000 Subject: [PATCH] Edit v0.0.4 --- acl/aclbit.go | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/acl/aclbit.go b/acl/aclbit.go index 85718c2..ead1d1d 100644 --- a/acl/aclbit.go +++ b/acl/aclbit.go @@ -11,9 +11,9 @@ type AclBit int64 // New AclBit func New(n ...NumBit) AclBit { var i64 AclBit - for _, n0 := range n { - i64.SetTrue(n0) - } + + i64.SetTrue(n...) + return i64 } @@ -28,25 +28,31 @@ func Unite(a ...AclBit) AclBit { } // set acl bit in true -func (a *AclBit) SetTrue(n NumBit) { - if veryNumBit(n) { - *a = *a | (1 << n) +func (a *AclBit) SetTrue(n ...NumBit) { + for _, n0 := range n { + if veryNumBit(n0) { + *a = *a | (1 << n0) + } } } // set acl bit in false -func (a *AclBit) SetFalse(n NumBit) { - if veryNumBit(n) { - *a = *a &^ (1 << n) +func (a *AclBit) SetFalse(n ...NumBit) { + for _, n0 := range n { + if veryNumBit(n0) { + *a = *a &^ (1 << n0) + } } } // verify bit return true or false -func (a AclBit) Verify(n NumBit) bool { - if veryNumBit(n) { - var msk AclBit = 1 << n - if (a & msk) == msk { - return true +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 + } } } return false