pbap_client: handle vcard listing data in body header

This commit is contained in:
Matthias Ringwald 2018-10-18 20:37:09 +02:00
parent 1d30ff2a62
commit defb31dfd5

View File

@ -575,7 +575,8 @@ static void pbap_client_process_vcard_listing(uint8_t *packet, uint16_t size){
obex_iterator_t it; obex_iterator_t it;
for (obex_iterator_init_with_response_packet(&it, goep_client_get_request_opcode(pbap_client->goep_cid), packet, size); obex_iterator_has_more(&it) ; obex_iterator_next(&it)){ for (obex_iterator_init_with_response_packet(&it, goep_client_get_request_opcode(pbap_client->goep_cid), packet, size); obex_iterator_has_more(&it) ; obex_iterator_next(&it)){
uint8_t hi = obex_iterator_get_hi(&it); uint8_t hi = obex_iterator_get_hi(&it);
if (hi == OBEX_HEADER_END_OF_BODY){ if (hi == OBEX_HEADER_END_OF_BODY ||
hi == OBEX_HEADER_BODY){
uint16_t data_len = obex_iterator_get_data_len(&it); uint16_t data_len = obex_iterator_get_data_len(&it);
const uint8_t * data = obex_iterator_get_data(&it); const uint8_t * data = obex_iterator_get_data(&it);
// now try parsing it // now try parsing it
@ -852,7 +853,8 @@ static void pbap_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *
case OBEX_RESP_SUCCESS: case OBEX_RESP_SUCCESS:
for (obex_iterator_init_with_response_packet(&it, goep_client_get_request_opcode(pbap_client->goep_cid), packet, size); obex_iterator_has_more(&it) ; obex_iterator_next(&it)){ for (obex_iterator_init_with_response_packet(&it, goep_client_get_request_opcode(pbap_client->goep_cid), packet, size); obex_iterator_has_more(&it) ; obex_iterator_next(&it)){
uint8_t hi = obex_iterator_get_hi(&it); uint8_t hi = obex_iterator_get_hi(&it);
if (hi == OBEX_HEADER_END_OF_BODY){ if (hi == OBEX_HEADER_END_OF_BODY ||
hi == OBEX_HEADER_BODY){
// uint16_t data_len = obex_iterator_get_data_len(&it); // uint16_t data_len = obex_iterator_get_data_len(&it);
// const uint8_t * data = obex_iterator_get_data(&it); // const uint8_t * data = obex_iterator_get_data(&it);
// now try parsing it // now try parsing it