}
m := v.Interface().(encoding.TextMarshaler)
b, err := m.MarshalText()
- if err == nil {
- _, err = e.stringBytes(b)
- }
if err != nil {
e.error(&MarshalerError{v.Type(), err})
}
+ e.stringBytes(b)
}
func addrTextMarshalerEncoder(e *encodeState, v reflect.Value, quoted bool) {
}
m := va.Interface().(encoding.TextMarshaler)
b, err := m.MarshalText()
- if err == nil {
- _, err = e.stringBytes(b)
- }
if err != nil {
e.error(&MarshalerError{v.Type(), err})
}
+ e.stringBytes(b)
}
func boolEncoder(e *encodeState, v reflect.Value, quoted bool) {
func (sv stringValues) get(i int) string { return sv[i].String() }
// NOTE: keep in sync with stringBytes below.
-func (e *encodeState) string(s string) (int, error) {
+func (e *encodeState) string(s string) int {
len0 := e.Len()
e.WriteByte('"')
start := 0
e.WriteString(s[start:])
}
e.WriteByte('"')
- return e.Len() - len0, nil
+ return e.Len() - len0
}
// NOTE: keep in sync with string above.
-func (e *encodeState) stringBytes(s []byte) (int, error) {
+func (e *encodeState) stringBytes(s []byte) int {
len0 := e.Len()
e.WriteByte('"')
start := 0
e.Write(s[start:])
}
e.WriteByte('"')
- return e.Len() - len0, nil
+ return e.Len() - len0
}
// A field represents a single field found in a struct.
r = append(r, i)
}
s := string(r) + "\xff\xff\xffhello" // some invalid UTF-8 too
- _, err := es.string(s)
- if err != nil {
- t.Fatal(err)
- }
+ es.string(s)
esBytes := &encodeState{}
- _, err = esBytes.stringBytes([]byte(s))
- if err != nil {
- t.Fatal(err)
- }
+ esBytes.stringBytes([]byte(s))
enc := es.Buffer.String()
encBytes := esBytes.Buffer.String()