diff options
Diffstat (limited to 'src/nshd/hackers_git/db_shadow.go')
-rw-r--r-- | src/nshd/hackers_git/db_shadow.go | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/nshd/hackers_git/db_shadow.go b/src/nshd/hackers_git/db_shadow.go index 97af6e9..fecb9f8 100644 --- a/src/nshd/hackers_git/db_shadow.go +++ b/src/nshd/hackers_git/db_shadow.go @@ -68,22 +68,20 @@ func (o *allShadowEnumerator) GenericGetNext() (n *interface{}, err error) { return } -func (o *Hackers) newAllShadowEnumerator() *allShadowEnumerator { +func (o *Hackers) Shadow_All(cred p.Ucred, req p.Request_Shadow_All) p.Shadow_Enumerator { + if cred.Uid != 0 { + return util.Shadow_Ø{} + } o.lock.RLock() e := allShadowEnumerator{ uids: make([]int32, len(o.users)), backend: o, done: false, } + i := uint(0) for uid, _ := range o.users { - e.uids = append(e.uids, uid) + e.uids[i] = uid + i++ } return &e } - -func (o *Hackers) Shadow_All(cred p.Ucred, req p.Request_Shadow_All) p.Shadow_Enumerator { - if cred.Uid != 0 { - return util.Shadow_Ø{} - } - return o.newAllShadowEnumerator() -} |