add wm_treenode_to_str function, remove unnecessary wm_treenode_free

This commit is contained in:
Akos Horvath 2023-09-17 15:25:40 +02:00
parent 7b2e92d256
commit c220aec518
2 changed files with 16 additions and 1 deletions

View File

@ -117,6 +117,21 @@ void wm_node_type_to_str(NodeType type, char *buf, size_t bufsize)
} }
} }
void wm_treenode_to_str(TreeNode *node, char *buf, size_t bufsize)
{
assert(node);
assert(buf);
char type[128] = {0};
wm_node_type_to_str(node->type, type, sizeof(type));
snprintf(buf, bufsize, "{ type: %s, parent: %p, children: { nodes: %p, "
"size: %ld, capacity: %ld }, pos: { x: %d, y: %d, w: %d, h: %d }, "
"client: %p, id: %d }\n", type, node->parent,
node->children.nodes, node->children.size, node->children.capacity,
node->pos.x, node->pos.y, node->pos.w, node->pos.h,
node->client, node->id);
}
void wm_tree_to_DOT(TreeNode *root, const char *filename) void wm_tree_to_DOT(TreeNode *root, const char *filename)
{ {
DEBUG_PRINT("%s\n", __func__); DEBUG_PRINT("%s\n", __func__);
@ -217,7 +232,6 @@ TreeNode* wm_treenode_remove_client(Wm *wm, TreeNode *root, Client *client)
if (client_node->parent == NULL) { if (client_node->parent == NULL) {
client_node->client = NULL; client_node->client = NULL;
wm_treenode_free(client_node);
return NULL; return NULL;
} }

View File

@ -73,6 +73,7 @@ void wm_treenode_remove_node(TreeNode *root, unsigned int node_id);
int wm_get_node_index(TreeNode *parent, unsigned int node_id); int wm_get_node_index(TreeNode *parent, unsigned int node_id);
void wm_tree_to_DOT(TreeNode *root, const char *filename); void wm_tree_to_DOT(TreeNode *root, const char *filename);
void wm_node_type_to_str(NodeType type, char *buf, size_t bufsize); void wm_node_type_to_str(NodeType type, char *buf, size_t bufsize);
void wm_treenode_to_str(TreeNode *node, char *buf, size_t bufsize);
NodeArray wm_nodearray_new(); NodeArray wm_nodearray_new();
void wm_nodearray_push(NodeArray *arr, TreeNode *node); void wm_nodearray_push(NodeArray *arr, TreeNode *node);