It will look for "(" or ")" parenthesis and skip it if found. --- src/shared/hfp.c | 26 ++++++++++++++++++++++++++ src/shared/hfp.h | 2 ++ 2 files changed, 28 insertions(+) diff --git a/src/shared/hfp.c b/src/shared/hfp.c index d168ac4..807ddf2 100644 --- a/src/shared/hfp.c +++ b/src/shared/hfp.c @@ -251,6 +251,32 @@ bool hfp_gw_result_get_number(struct hfp_gw_result *result, int *val) return true; } +bool hfp_gw_result_open_container(struct hfp_gw_result *result) +{ + skip_whitespace(result); + + /* The list shall be preceded by a left parenthesis "(") */ + if (result->data[result->offset] != '(') + return false; + + result->offset++; + + return true; +} + +bool hfp_gw_result_close_container(struct hfp_gw_result *result) +{ + skip_whitespace(result); + + /* The list shall be followed by a right parenthesis (")" V250 5.7.3.1*/ + if (result->data[result->offset] != ')') + return false; + + result->offset++; + + 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 37d5c9b..dcde28f 100644 --- a/src/shared/hfp.h +++ b/src/shared/hfp.h @@ -115,3 +115,5 @@ bool hfp_gw_register_prefix_handler(struct hfp_gw *hfp, bool hfp_gw_unregister_prefix_handler(struct hfp_gw *hfp, const char *prefix); bool hfp_gw_result_get_number(struct hfp_gw_result *result, int *val); +bool hfp_gw_result_open_container(struct hfp_gw_result *result); +bool hfp_gw_result_close_container(struct hfp_gw_result *result); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html