summaryrefslogtreecommitdiff
path: root/libgo/go/encoding/asn1/marshal.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/encoding/asn1/marshal.go')
-rw-r--r--libgo/go/encoding/asn1/marshal.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/libgo/go/encoding/asn1/marshal.go b/libgo/go/encoding/asn1/marshal.go
index 774bee74baa..163bca575de 100644
--- a/libgo/go/encoding/asn1/marshal.go
+++ b/libgo/go/encoding/asn1/marshal.go
@@ -463,6 +463,10 @@ func marshalField(out *forkableWriter, v reflect.Value, params fieldParameters)
return marshalField(out, v.Elem(), params)
}
+ if v.Kind() == reflect.Slice && v.Len() == 0 && params.omitEmpty {
+ return
+ }
+
if params.optional && reflect.DeepEqual(v.Interface(), reflect.Zero(v.Type()).Interface()) {
return
}