| 521 | } |
| 522 | |
| 523 | ssize_t pn_decoder_decode(pn_decoder_t *decoder, const char *src, size_t size, pn_data_t *dst) |
| 524 | { |
| 525 | decoder->input = src; |
| 526 | decoder->size = size; |
| 527 | decoder->position = src; |
| 528 | |
| 529 | int err = pni_decoder_single(decoder, dst); |
| 530 | |
| 531 | if (err == PN_UNDERFLOW) |
| 532 | return pn_error_format(pn_data_error(dst), PN_UNDERFLOW, "not enough data to decode"); |
| 533 | if (err) return err; |
| 534 | |
| 535 | return decoder->position - decoder->input; |
| 536 | } |
no test coverage detected