static char *bta_hf_client_parse_cind_list(char *buffer) { int offset; char *name = osi_malloc(129); UINT32 min, max; UINT32 index = 0; int res; if (name == NULL) { APPL_TRACE_ERROR("No mem %s", __FUNCTION__); return NULL; } while ((res = sscanf(buffer, "(\"%128[^\"]\",(%u%*[-,]%u))%n", name, &min, &max, &offset)) > 2) { bta_hf_client_handle_cind_list_item(name, min, max, index); buffer += offset; index++; if (*buffer != ',') { break; } buffer++; } osi_free(name); if (res > 2) { AT_CHECK_RN(buffer); return buffer; } return NULL; }
static char *bta_hf_client_parse_cind_list(char *buffer) { int offset; char name[129]; UINT32 min, max; UINT32 index = 0; int res; while ((res = sscanf(buffer, "(\"%128[^\"]\",(%u%*[-,]%u))%n", name, &min, &max, &offset)) > 2) { bta_hf_client_handle_cind_list_item(name, min, max, index); buffer += offset; index++; if (*buffer != ',') { break; } buffer++; } if (res > 2) { AT_CHECK_RN(buffer); return buffer; } return NULL; }