aboutsummaryrefslogtreecommitdiffstats
path: root/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'config.c')
-rwxr-xr-xconfig.c56
1 files changed, 5 insertions, 51 deletions
diff --git a/config.c b/config.c
index 62aebe462..da893398a 100755
--- a/config.c
+++ b/config.c
@@ -124,59 +124,13 @@ struct ast_variable *ast_variable_new(const char *name, const char *value)
return variable;
}
-static struct ast_variable *variable_get(const struct ast_category *category, const char *name)
-{
- struct ast_variable *variable;
-
- for (variable = category->root; variable; variable = variable->next)
- if (!strcasecmp(variable->name, name))
- return variable;
-
- return NULL;
-}
-
-static void variable_remove(struct ast_category *category, const struct ast_variable *variable)
-{
- struct ast_variable *prev = category->root;
-
- if (!prev)
- return;
-
- if (prev == variable) {
- category->root = prev->next;
- if (category->last == variable)
- category->last = NULL;
- } else {
- while (prev->next && (prev->next != variable)) prev = prev->next;
- if (prev->next) {
- prev->next = variable->next;
- if (category->last == variable)
- category->last = prev;
- }
- }
-}
-
void ast_variable_append(struct ast_category *category, struct ast_variable *variable)
{
- /* Note: this function also implements "variable replacement"... if the
- new variable's value is empty, then existing variables of the same
- name in the category are removed (and the new variable is destroyed)
- */
- if (variable->value && !ast_strlen_zero(variable->value)) {
- if (category->last)
- category->last->next = variable;
- else
- category->root = variable;
- category->last = variable;
- } else {
- struct ast_variable *v;
-
- while ((v = variable_get(category, variable->name))) {
- variable_remove(category, v);
- ast_variables_destroy(v);
- }
- ast_variables_destroy(variable);
- }
+ if (category->last)
+ category->last->next = variable;
+ else
+ category->root = variable;
+ category->last = variable;
}
void ast_variables_destroy(struct ast_variable *v)