diff options
Diffstat (limited to 'vendor/github.com/golang/protobuf/proto/pointer_reflect.go')
-rw-r--r-- | vendor/github.com/golang/protobuf/proto/pointer_reflect.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go index b6cad90..94fa919 100644 --- a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go +++ b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go | |||
@@ -79,10 +79,13 @@ func toPointer(i *Message) pointer { | |||
79 | 79 | ||
80 | // toAddrPointer converts an interface to a pointer that points to | 80 | // toAddrPointer converts an interface to a pointer that points to |
81 | // the interface data. | 81 | // the interface data. |
82 | func toAddrPointer(i *interface{}, isptr bool) pointer { | 82 | func toAddrPointer(i *interface{}, isptr, deref bool) pointer { |
83 | v := reflect.ValueOf(*i) | 83 | v := reflect.ValueOf(*i) |
84 | u := reflect.New(v.Type()) | 84 | u := reflect.New(v.Type()) |
85 | u.Elem().Set(v) | 85 | u.Elem().Set(v) |
86 | if deref { | ||
87 | u = u.Elem() | ||
88 | } | ||
86 | return pointer{v: u} | 89 | return pointer{v: u} |
87 | } | 90 | } |
88 | 91 | ||