| 182 | void pni_data_set_array_type(pn_data_t *data, pn_type_t type); |
| 183 | |
| 184 | static int pni_decoder_decode_value(pn_decoder_t *decoder, pn_data_t *data, uint8_t code) |
| 185 | { |
| 186 | int err; |
| 187 | conv_t conv; |
| 188 | pn_decimal128_t dec128; |
| 189 | pn_uuid_t uuid; |
| 190 | size_t size; |
| 191 | size_t count; |
| 192 | |
| 193 | switch (code) |
| 194 | { |
| 195 | case PNE_NULL: |
| 196 | err = pn_data_put_null(data); |
| 197 | break; |
| 198 | case PNE_TRUE: |
| 199 | err = pn_data_put_bool(data, true); |
| 200 | break; |
| 201 | case PNE_FALSE: |
| 202 | err = pn_data_put_bool(data, false); |
| 203 | break; |
| 204 | case PNE_BOOLEAN: |
| 205 | if (!pn_decoder_remaining(decoder)) return PN_UNDERFLOW; |
| 206 | err = pn_data_put_bool(data, pn_decoder_readf8(decoder) != 0); |
| 207 | break; |
| 208 | case PNE_UBYTE: |
| 209 | if (!pn_decoder_remaining(decoder)) return PN_UNDERFLOW; |
| 210 | err = pn_data_put_ubyte(data, pn_decoder_readf8(decoder)); |
| 211 | break; |
| 212 | case PNE_BYTE: |
| 213 | if (!pn_decoder_remaining(decoder)) return PN_UNDERFLOW; |
| 214 | err = pn_data_put_byte(data, pn_decoder_readf8(decoder)); |
| 215 | break; |
| 216 | case PNE_USHORT: |
| 217 | if (pn_decoder_remaining(decoder) < 2) return PN_UNDERFLOW; |
| 218 | err = pn_data_put_ushort(data, pn_decoder_readf16(decoder)); |
| 219 | break; |
| 220 | case PNE_SHORT: |
| 221 | if (pn_decoder_remaining(decoder) < 2) return PN_UNDERFLOW; |
| 222 | err = pn_data_put_short(data, pn_decoder_readf16(decoder)); |
| 223 | break; |
| 224 | case PNE_UINT: |
| 225 | if (pn_decoder_remaining(decoder) < 4) return PN_UNDERFLOW; |
| 226 | err = pn_data_put_uint(data, pn_decoder_readf32(decoder)); |
| 227 | break; |
| 228 | case PNE_UINT0: |
| 229 | err = pn_data_put_uint(data, 0); |
| 230 | break; |
| 231 | case PNE_SMALLUINT: |
| 232 | if (!pn_decoder_remaining(decoder)) return PN_UNDERFLOW; |
| 233 | err = pn_data_put_uint(data, pn_decoder_readf8(decoder)); |
| 234 | break; |
| 235 | case PNE_SMALLINT: |
| 236 | if (!pn_decoder_remaining(decoder)) return PN_UNDERFLOW; |
| 237 | err = pn_data_put_int(data, (int8_t)pn_decoder_readf8(decoder)); |
| 238 | break; |
| 239 | case PNE_INT: |
| 240 | if (pn_decoder_remaining(decoder) < 4) return PN_UNDERFLOW; |
| 241 | err = pn_data_put_int(data, pn_decoder_readf32(decoder)); |
no test coverage detected