aboutsummaryrefslogtreecommitdiff
path: root/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go
diff options
context:
space:
mode:
authorSascha Grunert <sgrunert@suse.com>2019-09-05 16:58:06 +0200
committerSascha Grunert <sgrunert@suse.com>2019-09-05 16:58:08 +0200
commitf66a2069f1b26ff9987b008ba4b0c91ac3b682cc (patch)
tree1219ee0e7b87494eaf2c6ace56d4ecada0dc4a39 /vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go
parentb962b1e3538312f145aea0cf5546ae31f35f635f (diff)
downloadpodman-f66a2069f1b26ff9987b008ba4b0c91ac3b682cc.tar.gz
podman-f66a2069f1b26ff9987b008ba4b0c91ac3b682cc.tar.bz2
podman-f66a2069f1b26ff9987b008ba4b0c91ac3b682cc.zip
Update buildah to v1.11.0
Vendor in the latest changes for buildah to apply the implemented features here as well. Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Diffstat (limited to 'vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go')
-rw-r--r--vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go
index b4dc78b3e..843cd3b15 100644
--- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go
+++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go
@@ -17,7 +17,9 @@ limitations under the License.
package v1
import (
+ "bytes"
"encoding/json"
+ "errors"
"fmt"
"k8s.io/apimachinery/pkg/fields"
@@ -254,13 +256,24 @@ func ResetObjectMetaForStatus(meta, existingMeta Object) {
}
// MarshalJSON implements json.Marshaler
+// MarshalJSON may get called on pointers or values, so implement MarshalJSON on value.
+// http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go
func (f Fields) MarshalJSON() ([]byte, error) {
- return json.Marshal(&f.Map)
+ if f.Raw == nil {
+ return []byte("null"), nil
+ }
+ return f.Raw, nil
}
// UnmarshalJSON implements json.Unmarshaler
func (f *Fields) UnmarshalJSON(b []byte) error {
- return json.Unmarshal(b, &f.Map)
+ if f == nil {
+ return errors.New("metav1.Fields: UnmarshalJSON on nil pointer")
+ }
+ if !bytes.Equal(b, []byte("null")) {
+ f.Raw = append(f.Raw[0:0], b...)
+ }
+ return nil
}
var _ json.Marshaler = Fields{}