mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-08 12:41:58 +00:00
Use one copy of EnforcePtr
This commit is contained in:
@@ -228,7 +228,7 @@ func (s *Scheme) DataVersionAndKind(data []byte) (version, kind string, err erro
|
||||
// ObjectVersionAndKind returns the API version and kind of the go object,
|
||||
// or an error if it's not a pointer or is unregistered.
|
||||
func (s *Scheme) ObjectVersionAndKind(obj interface{}) (apiVersion, kind string, err error) {
|
||||
v, err := enforcePtr(obj)
|
||||
v, err := EnforcePtr(obj)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
@@ -261,14 +261,3 @@ func maybeCopy(obj interface{}) interface{} {
|
||||
v2.Elem().Set(v)
|
||||
return v2.Interface()
|
||||
}
|
||||
|
||||
// enforcePtr ensures that obj is a pointer of some sort. Returns a reflect.Value
|
||||
// of the dereferenced pointer, ensuring that it is settable/addressable.
|
||||
// Returns an error if this is not possible.
|
||||
func enforcePtr(obj interface{}) (reflect.Value, error) {
|
||||
v := reflect.ValueOf(obj)
|
||||
if v.Kind() != reflect.Ptr {
|
||||
return reflect.Value{}, fmt.Errorf("expected pointer, but got %v", v.Type().Name())
|
||||
}
|
||||
return v.Elem(), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user