mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-19 11:42:27 +00:00
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 ........ Merged revisions 428734 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@428735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -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);
|
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
|
* \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)
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
for (v = category->root; v; v = v->next) {
|
const char *ast_variable_find_in_list(const struct ast_variable *list, const char *variable)
|
||||||
|
{
|
||||||
|
const struct ast_variable *v;
|
||||||
|
|
||||||
|
for (v = list; v; v = v->next) {
|
||||||
if (!strcasecmp(variable, v->name)) {
|
if (!strcasecmp(variable, v->name)) {
|
||||||
return v->value;
|
return v->value;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user