2026-01-15 15:59:42 +01:00
|
|
|
#include "utils/ast/ast.h"
|
|
|
|
|
|
2026-01-15 17:12:06 +01:00
|
|
|
struct ast *ast_create_list(struct list *list)
|
|
|
|
|
{
|
|
|
|
|
struct ast_list *ast_list = malloc(sizeof(struct ast_list));
|
|
|
|
|
if (ast_list == NULL)
|
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
|
|
ast_list->list = list;
|
|
|
|
|
|
|
|
|
|
return ast_create(AST_LIST, ast_list);
|
|
|
|
|
}
|
2026-01-15 15:59:42 +01:00
|
|
|
|
2026-01-15 17:12:06 +01:00
|
|
|
struct ast_list *ast_get_list(struct ast *node)
|
|
|
|
|
{
|
|
|
|
|
assert(node != NULL);
|
|
|
|
|
return (struct ast_list*)node->data;
|
|
|
|
|
}
|
2026-01-15 15:59:42 +01:00
|
|
|
|
|
|
|
|
bool ast_is_list(struct ast *node)
|
2026-01-15 17:12:06 +01:00
|
|
|
{
|
|
|
|
|
return node->type == AST_LIST;
|
|
|
|
|
}
|
2026-01-15 15:59:42 +01:00
|
|
|
|
2026-01-15 17:12:06 +01:00
|
|
|
void ast_free_list(struct ast_list **ast_list)
|
2026-01-15 15:59:42 +01:00
|
|
|
{
|
2026-01-15 17:12:06 +01:00
|
|
|
if (*ast_list == NULL || ast_list == NULL)
|
2026-01-15 15:59:42 +01:00
|
|
|
return;
|
|
|
|
|
|
2026-01-15 17:12:06 +01:00
|
|
|
list_deep_destroy((*ast_list)->children);
|
|
|
|
|
free(*ast_list);
|
|
|
|
|
*ast_list = NULL;
|
2026-01-15 15:59:42 +01:00
|
|
|
}
|