diff options
Diffstat (limited to 'main/config.c')
-rw-r--r-- | main/config.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/main/config.c b/main/config.c index 70ef6a804..db9182a46 100644 --- a/main/config.c +++ b/main/config.c @@ -620,6 +620,26 @@ struct ast_variable *ast_variable_list_sort(struct ast_variable *start) return top.next; } +struct ast_variable *ast_variable_list_append_hint(struct ast_variable **head, struct ast_variable *search_hint, struct ast_variable *newvar) +{ + struct ast_variable *curr; + ast_assert(head != NULL); + + if (!*head) { + *head = newvar; + } else { + if (search_hint == NULL) { + search_hint = *head; + } + for (curr = search_hint; curr->next; curr = curr->next); + curr->next = newvar; + } + + for (curr = newvar; curr->next; curr = curr->next); + + return curr; +} + const char *ast_config_option(struct ast_config *cfg, const char *cat, const char *var) { const char *tmp; |