change array_init to array_new, working as a constructor

This commit is contained in:
Akos Horvath 2023-05-26 20:01:27 +02:00
parent c66eb85cc6
commit 92a5dc5cf1
2 changed files with 17 additions and 13 deletions

26
util.c
View File

@ -9,16 +9,18 @@ void wm_treenode_init(TreeNode *node, NodeType type, TreeNode *parent)
node->parent = parent;
node->type = type;
node->children = (NodeArray) {0};
wm_nodearray_init(&node->children);
wm_nodearray_new();
}
void wm_nodearray_init(NodeArray *arr)
NodeArray wm_nodearray_new()
{
assert(arr);
NodeArray arr;
arr->capacity = 10;
arr->nodes = calloc(arr->capacity, sizeof(TreeNode));
arr->size = 0;
arr.capacity = 10;
arr.nodes = calloc(arr.capacity, sizeof(TreeNode));
arr.size = 0;
return arr;
}
void wm_nodearray_push(NodeArray *arr, TreeNode node)
@ -89,13 +91,15 @@ void wm_nodearray_free(NodeArray *arr)
free(arr->nodes);
}
void wm_clientarray_init(ClientArray *arr)
ClientArray wm_clientarray_new()
{
assert(arr);
ClientArray arr;
arr->capacity = 10;
arr->clients = calloc(arr->capacity, sizeof(TreeNode));
arr->size = 0;
arr.capacity = 10;
arr.clients = calloc(arr.capacity, sizeof(TreeNode));
arr.size = 0;
return arr;
}
void wm_clientarray_push(ClientArray *arr, Client node)

4
util.h
View File

@ -51,13 +51,13 @@ struct TreeNode {
void wm_treenode_init(TreeNode *node, NodeType type, TreeNode *parent);
void wm_nodearray_init(NodeArray *arr);
NodeArray wm_nodearray_new();
void wm_nodearray_push(NodeArray *arr, TreeNode node);
bool wm_nodearray_pop(NodeArray *arr, TreeNode *ret);
bool wm_nodearray_remove(NodeArray *arr, size_t index);
void wm_nodearray_free(NodeArray *arr);
void wm_clientarray_init(ClientArray *arr);
ClientArray wm_clientarray_new();
void wm_clientarray_push(ClientArray *arr, Client node);
bool wm_clientarray_pop(ClientArray *arr, Client *ret);
bool wm_clientarray_remove(ClientArray *arr, size_t index);