func dataError(prefix string, data *C.pn_data_t) error { err := internal.PnError(unsafe.Pointer(C.pn_data_error(data))) if err != nil { err = internal.Errorf("%s: %s", prefix, err.(internal.Error)) } return err }
func dataError(prefix string, data *C.pn_data_t) error { err := PnError(C.pn_data_error(data)) if err != nil { err = fmt.Errorf("%s: %s", prefix, err.Error()) } return err }
// decode from bytes. // Return bytes decoded or 0 if we could not decode a complete object. // func decode(data *C.pn_data_t, bytes []byte) (int, error) { if len(bytes) == 0 { return 0, nil } n := int(C.pn_data_decode(data, cPtr(bytes), cLen(bytes))) if n == int(C.PN_UNDERFLOW) { C.pn_error_clear(C.pn_data_error(data)) return 0, nil } else if n <= 0 { return 0, fmt.Errorf("unmarshal %s", PnErrorCode(n)) } return n, nil }
// decode from bytes. // Return bytes decoded or 0 if we could not decode a complete object. // func decode(data *C.pn_data_t, bytes []byte) int { if len(bytes) == 0 { return 0 } n := int(C.pn_data_decode(data, cPtr(bytes), cLen(bytes))) if n == int(C.PN_UNDERFLOW) { C.pn_error_clear(C.pn_data_error(data)) return 0 } else if n <= 0 { panic(internal.Errorf("unmarshal %s", internal.PnErrorCode(n))) } return n }
func (d Data) Error() error { return PnError(C.pn_data_error(d.pn)) }