int max_include_level;
};
+static void ast_destroy_comment(struct ast_comment **comment);
+
struct ast_variable *ast_variable_new(const char *name, const char *value)
{
struct ast_variable *variable;
while(v) {
vn = v;
v = v->next;
+ ast_destroy_comment(&vn->precomments);
+ ast_destroy_comment(&vn->sameline);
free(vn);
}
}
config->current = category;
}
-static void ast_destroy_comments(struct ast_category *cat)
+static void ast_destroy_comment(struct ast_comment **comment)
{
struct ast_comment *n, *p;
- for (p=cat->precomments; p; p=n) {
- n = p->next;
- free(p);
- }
- for (p=cat->sameline; p; p=n) {
+
+ for (p = *comment; p; p = n) {
n = p->next;
free(p);
}
- cat->precomments = NULL;
- cat->sameline = NULL;
+
+ *comment = NULL;
+}
+
+static void ast_destroy_comments(struct ast_category *cat)
+{
+ ast_destroy_comment(&cat->precomments);
+ ast_destroy_comment(&cat->sameline);
}
static void ast_destroy_template_list(struct ast_category *cat)