config: Create ast_variable_find_in_list()

Add
const char *ast_variable_find_in_list(const struct ast_variable *list,
   const char *variable);

ast_variable_find() requires a config category to search whereas
ast_variable_find_in_list() just needs the root list element which is
useful if you don't have a category.

Tested-by: George Joseph

Review: https://reviewboard.asterisk.org/r/4217/
........

Merged revisions 428733 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@428734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/97/197/1
George Joseph 11 years ago
parent 7472c661ca
commit a53efbb86c

@ -311,6 +311,20 @@ const char *ast_variable_retrieve(struct ast_config *config,
*/
const char *ast_variable_find(const struct ast_category *category, const char *variable);
/*!
* \brief Gets a variable from a variable list
*
* \param list variable list to search
* \param variable which variable you wish to get the data for
*
* \details
* Goes through a given variable list and searches for the given variable
*
* \retval The variable value on success
* \retval NULL if unable to find it.
*/
const char *ast_variable_find_in_list(const struct ast_variable *list, const char *variable);
/*!
* \brief Retrieve a category if it exists
*

@ -720,9 +720,14 @@ const char *ast_variable_retrieve_filtered(struct ast_config *config,
const char *ast_variable_find(const struct ast_category *category, const char *variable)
{
struct ast_variable *v;
return ast_variable_find_in_list(category->root, variable);
}
const char *ast_variable_find_in_list(const struct ast_variable *list, const char *variable)
{
const struct ast_variable *v;
for (v = category->root; v; v = v->next) {
for (v = list; v; v = v->next) {
if (!strcasecmp(variable, v->name)) {
return v->value;
}

Loading…
Cancel
Save