diff --git a/src/shared/hfp.c b/src/shared/hfp.c
index 10734fc..b10316e 100644
--- a/src/shared/hfp.c
+++ b/src/shared/hfp.c
return true;
}
+bool hfp_gw_result_get_unquoted_string(struct hfp_gw_result *result, char *buf,
+ uint8_t len)
+{
+ const char *data = result->data;
+ int i = 0;
+ char c;
+
+ skip_whitespace(result);
+
+ c = data[result->offset];
+ if (c == '"' || c == ')' || c == '(')
+ return false;
+
+ while (data[result->offset] != '\0' && data[result->offset] != ','
+ && data[result->offset] != ')') {
+ if (i < len)
+ buf[i++] = data[result->offset];
+ result->offset++;
+ }
+
+ if (i < len)
+ buf[i++] = '\0';
+
+ next_field(result);
+
+ return true;
+}
+
static void process_input(struct hfp_gw *hfp)
{
char *str, *ptr;
diff --git a/src/shared/hfp.h b/src/shared/hfp.h
index 3313d91..649b77e 100644
--- a/src/shared/hfp.h
+++ b/src/shared/hfp.h
bool hfp_gw_result_close_container(struct hfp_gw_result *result);
bool hfp_gw_result_get_string(struct hfp_gw_result *result, char *buf,
uint8_t len);
+bool hfp_gw_result_get_unquoted_string(struct hfp_gw_result *result, char *buf,
+ uint8_t len);