change array_init to array_new, working as a constructor
This commit is contained in:
26
util.c
26
util.c
@ -9,16 +9,18 @@ void wm_treenode_init(TreeNode *node, NodeType type, TreeNode *parent)
|
|||||||
node->parent = parent;
|
node->parent = parent;
|
||||||
node->type = type;
|
node->type = type;
|
||||||
node->children = (NodeArray) {0};
|
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.capacity = 10;
|
||||||
arr->nodes = calloc(arr->capacity, sizeof(TreeNode));
|
arr.nodes = calloc(arr.capacity, sizeof(TreeNode));
|
||||||
arr->size = 0;
|
arr.size = 0;
|
||||||
|
|
||||||
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wm_nodearray_push(NodeArray *arr, TreeNode node)
|
void wm_nodearray_push(NodeArray *arr, TreeNode node)
|
||||||
@ -89,13 +91,15 @@ void wm_nodearray_free(NodeArray *arr)
|
|||||||
free(arr->nodes);
|
free(arr->nodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wm_clientarray_init(ClientArray *arr)
|
ClientArray wm_clientarray_new()
|
||||||
{
|
{
|
||||||
assert(arr);
|
ClientArray arr;
|
||||||
|
|
||||||
arr->capacity = 10;
|
arr.capacity = 10;
|
||||||
arr->clients = calloc(arr->capacity, sizeof(TreeNode));
|
arr.clients = calloc(arr.capacity, sizeof(TreeNode));
|
||||||
arr->size = 0;
|
arr.size = 0;
|
||||||
|
|
||||||
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wm_clientarray_push(ClientArray *arr, Client node)
|
void wm_clientarray_push(ClientArray *arr, Client node)
|
||||||
|
4
util.h
4
util.h
@ -51,13 +51,13 @@ struct TreeNode {
|
|||||||
|
|
||||||
void wm_treenode_init(TreeNode *node, NodeType type, TreeNode *parent);
|
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);
|
void wm_nodearray_push(NodeArray *arr, TreeNode node);
|
||||||
bool wm_nodearray_pop(NodeArray *arr, TreeNode *ret);
|
bool wm_nodearray_pop(NodeArray *arr, TreeNode *ret);
|
||||||
bool wm_nodearray_remove(NodeArray *arr, size_t index);
|
bool wm_nodearray_remove(NodeArray *arr, size_t index);
|
||||||
void wm_nodearray_free(NodeArray *arr);
|
void wm_nodearray_free(NodeArray *arr);
|
||||||
|
|
||||||
void wm_clientarray_init(ClientArray *arr);
|
ClientArray wm_clientarray_new();
|
||||||
void wm_clientarray_push(ClientArray *arr, Client node);
|
void wm_clientarray_push(ClientArray *arr, Client node);
|
||||||
bool wm_clientarray_pop(ClientArray *arr, Client *ret);
|
bool wm_clientarray_pop(ClientArray *arr, Client *ret);
|
||||||
bool wm_clientarray_remove(ClientArray *arr, size_t index);
|
bool wm_clientarray_remove(ClientArray *arr, size_t index);
|
||||||
|
Reference in New Issue
Block a user