Geolocation: Base Asterisk Prereqs

* Added ast_variable_list_from_quoted_string()
  Parse a quoted string into an ast_variable list.

* Added ast_str_substitute_variables_full2()
  Perform variable/function/expression substitution on an ast_str.

* Added ast_strsep_quoted()
  Like ast_strsep except you can specify a specific quote character.
  Also added unit test.

* Added ast_xml_find_child_element()
  Find a direct child element by name.

* Added ast_xml_doc_dump_memory()
  Dump the specified document to a buffer

* ast_datastore_free() now checks for a NULL datastore
  before attempting to destroy it.

Change-Id: I5dcefed2f5f93a109e8b489e18d80d42e45244ec
This commit is contained in:
George Joseph
2022-06-27 11:31:04 -06:00
committed by Friendly Automation
parent 740c773781
commit 5fe9887701
11 changed files with 358 additions and 20 deletions

View File

@@ -1023,6 +1023,26 @@ struct ast_str *ast_variable_list_join(const struct ast_variable *head, const ch
struct ast_variable *ast_variable_list_from_string(const char *input, const char *item_separator,
const char *name_value_separator);
/*!
* \brief Parse a string into an ast_variable list. The reverse of ast_variable_list_join
*
* \param input The name-value pair string to parse.
* \param item_separator The string used to separate the list items.
* Only the first character in the string will be used.
* If NULL, "," will be used.
* \param name_value_separator The string used to separate each item's name and value.
* Only the first character in the string will be used.
* If NULL, "=" will be used.
* \param quote_str The string used to quote values.
* Only the first character in the string will be used.
* If NULL, '"' will be used.
*
* \retval A pointer to a list of ast_variables.
* \retval NULL if there was an error or no variables could be parsed.
*/
struct ast_variable *ast_variable_list_from_quoted_string(const char *input, const char *item_separator,
const char *name_value_separator, const char *quote_str);
/*!
* \brief Update variable value within a config
*