make omitzero omit nil pointers.
diff --git a/encode_test.go b/encode_test.go index a37adf9..50bd9bb 100644 --- a/encode_test.go +++ b/encode_test.go
@@ -76,6 +76,10 @@ A int "a,omitempty" B int "b,omitempty" }{0, 0}}, + {"{}\n", &struct { + A *struct{ X int } "a,omitempty" + B int "b,omitempty" + }{nil, 0}}, // Flow flag {"a: [1, 2]\n", &struct {
diff --git a/goyaml.go b/goyaml.go index e7ba7a3..84dd1a7 100644 --- a/goyaml.go +++ b/goyaml.go
@@ -262,6 +262,8 @@ return v.Len() == 0 case reflect.Map: return v.Len() == 0 + case reflect.Ptr: + return v.IsNil() case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return v.Int() == 0 case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: