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/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@428733
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
*/
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
*
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;
}