diff --git a/main/config.c b/main/config.c index 596528bb1b..7550fa3c2d 100644 --- a/main/config.c +++ b/main/config.c @@ -207,6 +207,8 @@ void ast_variable_append(struct ast_category *category, struct ast_variable *var else category->root = variable; category->last = variable; + while (category->last->next) + category->last = category->last->next; } void ast_variables_destroy(struct ast_variable *v) @@ -392,6 +394,7 @@ struct ast_variable *ast_category_detach_variables(struct ast_category *cat) v = cat->root; cat->root = NULL; + cat->last = NULL; return v; } @@ -977,7 +980,10 @@ int config_text_file_save(const char *configfile, const struct ast_config *cfg, ast_verbose(VERBOSE_PREFIX_2 "Saving '%s': ", fn); fprintf(f, ";!\n"); fprintf(f, ";! Automatically generated configuration file\n"); - fprintf(f, ";! Filename: %s (%s)\n", configfile, fn); + if (strcmp(configfile, fn)) + fprintf(f, ";! Filename: %s (%s)\n", configfile, fn); + else + fprintf(f, ";! Filename: %s\n", configfile); fprintf(f, ";! Generator: %s\n", generator); fprintf(f, ";! Creation Date: %s", date); fprintf(f, ";!\n");