summaryrefslogtreecommitdiff
path: root/src/nslcd_proto
diff options
context:
space:
mode:
Diffstat (limited to 'src/nslcd_proto')
-rw-r--r--src/nslcd_proto/enumerator@T.got2
-rwxr-xr-xsrc/nslcd_proto/func_handlerequest.go.sh6
-rw-r--r--src/nslcd_proto/util/enumerator@T.got11
3 files changed, 12 insertions, 7 deletions
diff --git a/src/nslcd_proto/enumerator@T.got b/src/nslcd_proto/enumerator@T.got
index 023c774..cad54fa 100644
--- a/src/nslcd_proto/enumerator@T.got
+++ b/src/nslcd_proto/enumerator@T.got
@@ -2,7 +2,7 @@ package nslcd_proto
type <T>_Enumerator interface {
GetNext() (n *<T>, err error)
- GenericGetNext() (n interface{}, err error)
+ GenericGetNext() (n *interface{}, err error)
}
// -*- Mode: Go -*-
diff --git a/src/nslcd_proto/func_handlerequest.go.sh b/src/nslcd_proto/func_handlerequest.go.sh
index 8034594..45e0ed6 100755
--- a/src/nslcd_proto/func_handlerequest.go.sh
+++ b/src/nslcd_proto/func_handlerequest.go.sh
@@ -10,7 +10,7 @@ import (
)
type enumerator interface {
- GenericGetNext() (n interface{}, err error)
+ GenericGetNext() (n *interface{}, err error)
}
func handleRequest(backend Backend, in io.Reader, out io.Writer, cred Ucred) {
@@ -44,11 +44,11 @@ done < "$requests"
write(out, NSLCD_VERSION)
write(out, action)
- var result interface{}
+ var result *interface{}
var err error
for result, err = res.GenericGetNext(); (result != nil) && (err == nil); result, err = res.GenericGetNext() {
write(out, NSLCD_RESULT_BEGIN)
- write(out, result)
+ write(out, *result)
}
if err != nil {
panic(err)
diff --git a/src/nslcd_proto/util/enumerator@T.got b/src/nslcd_proto/util/enumerator@T.got
index e1dd2ae..5ce5cb5 100644
--- a/src/nslcd_proto/util/enumerator@T.got
+++ b/src/nslcd_proto/util/enumerator@T.got
@@ -22,8 +22,13 @@ func (o *<T>_List) GetNext() (n *nslcd_proto.<T>, err error) {
return
}
-func (o *<T>_List) GenericGetNext() (n interface{}, err error) {
- return o.GetNext()
+func (o *<T>_List) GenericGetNext() (n *interface{}, err error) {
+ a, err := o.GetNext()
+ if a != nil {
+ b := (interface{})(*a)
+ n = &b
+ }
+ return
}
type <T>_Ø struct{}
@@ -33,7 +38,7 @@ var _ nslcd_proto.<T>_Enumerator = <T>_Ø{}
func (o <T>_Ø) GetNext() (*nslcd_proto.<T>, error) {
return nil, nil
}
-func (o <T>_Ø) GenericGetNext() (interface{}, error) {
+func (o <T>_Ø) GenericGetNext() (*interface{}, error) {
return nil, nil
}