Fixed incompatible type error handling

This commit is contained in:
Matthias Fulz 2020-02-14 13:57:44 +01:00
parent 26d353867b
commit 0d6b55960b
1 changed files with 12 additions and 12 deletions

View File

@ -118,84 +118,84 @@ func init() {
RegisterDecoder("bool", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("bool", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*bool); ok { if i, ok := e.(*bool); ok {
*i, n, err = UnmarshalBool(in) *i, n, err = UnmarshalBool(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected bool") return 0, errors.New("ssob: Incompatible type - expected bool")
}) })
RegisterDecoder("int8", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("int8", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*int8); ok { if i, ok := e.(*int8); ok {
*i, n, err = UnmarshalInt8(in) *i, n, err = UnmarshalInt8(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected int8") return 0, errors.New("ssob: Incompatible type - expected int8")
}) })
RegisterDecoder("uint8", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("uint8", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*uint8); ok { if i, ok := e.(*uint8); ok {
*i, n, err = UnmarshalUint8(in) *i, n, err = UnmarshalUint8(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected uint8") return 0, errors.New("ssob: Incompatible type - expected uint8")
}) })
RegisterDecoder("int16", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("int16", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*int16); ok { if i, ok := e.(*int16); ok {
*i, n, err = UnmarshalInt16(in) *i, n, err = UnmarshalInt16(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected int16") return 0, errors.New("ssob: Incompatible type - expected int16")
}) })
RegisterDecoder("uint16", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("uint16", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*uint16); ok { if i, ok := e.(*uint16); ok {
*i, n, err = UnmarshalUint16(in) *i, n, err = UnmarshalUint16(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected uint16") return 0, errors.New("ssob: Incompatible type - expected uint16")
}) })
RegisterDecoder("int32", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("int32", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*int32); ok { if i, ok := e.(*int32); ok {
*i, n, err = UnmarshalInt32(in) *i, n, err = UnmarshalInt32(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected int32") return 0, errors.New("ssob: Incompatible type - expected int32")
}) })
RegisterDecoder("uint32", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("uint32", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*uint32); ok { if i, ok := e.(*uint32); ok {
*i, n, err = UnmarshalUint32(in) *i, n, err = UnmarshalUint32(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected uint32") return 0, errors.New("ssob: Incompatible type - expected uint32")
}) })
RegisterDecoder("float32", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("float32", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*float32); ok { if i, ok := e.(*float32); ok {
*i, n, err = UnmarshalFloat32(in) *i, n, err = UnmarshalFloat32(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected float32") return 0, errors.New("ssob: Incompatible type - expected float32")
}) })
RegisterDecoder("int64", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("int64", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*int64); ok { if i, ok := e.(*int64); ok {
*i, n, err = UnmarshalInt64(in) *i, n, err = UnmarshalInt64(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected int64") return 0, errors.New("ssob: Incompatible type - expected int64")
}) })
RegisterDecoder("uint64", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("uint64", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*uint64); ok { if i, ok := e.(*uint64); ok {
*i, n, err = UnmarshalUint64(in) *i, n, err = UnmarshalUint64(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected uint64") return 0, errors.New("ssob: Incompatible type - expected uint64")
}) })
RegisterDecoder("float64", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("float64", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*float64); ok { if i, ok := e.(*float64); ok {
*i, n, err = UnmarshalFloat64(in) *i, n, err = UnmarshalFloat64(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected float64") return 0, errors.New("ssob: Incompatible type - expected float64")
}) })
RegisterDecoder("string", func(e interface{}, in []byte) (n int, err error) { RegisterDecoder("string", func(e interface{}, in []byte) (n int, err error) {
if i, ok := e.(*string); ok { if i, ok := e.(*string); ok {
*i, n, err = UnmarshalString(in) *i, n, err = UnmarshalString(in)
return n, nil return n, err
} }
return 0, errors.New("ssob: Incompatible type - expected string") return 0, errors.New("ssob: Incompatible type - expected string")
}) })