Author: gtjoseph
Date: Mon Dec  1 18:35:10 2014
New Revision: 428733

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428733
Log:
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/


Modified:
    branches/12/include/asterisk/config.h
    branches/12/main/config.c

Modified: branches/12/include/asterisk/config.h
URL: 
http://svnview.digium.com/svn/asterisk/branches/12/include/asterisk/config.h?view=diff&rev=428733&r1=428732&r2=428733
==============================================================================
--- branches/12/include/asterisk/config.h (original)
+++ branches/12/include/asterisk/config.h Mon Dec  1 18:35:10 2014
@@ -310,6 +310,20 @@
  * \retval NULL if unable to find it.
  */
 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

Modified: branches/12/main/config.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/12/main/config.c?view=diff&rev=428733&r1=428732&r2=428733
==============================================================================
--- branches/12/main/config.c (original)
+++ branches/12/main/config.c Mon Dec  1 18:35:10 2014
@@ -720,9 +720,14 @@
 
 const char *ast_variable_find(const struct ast_category *category, const char 
*variable)
 {
-       struct ast_variable *v;
-
-       for (v = category->root; v; v = v->next) {
+       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 = list; v; v = v->next) {
                if (!strcasecmp(variable, v->name)) {
                        return v->value;
                }


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to