From c220aec5186cbe52d7a0eb1bffda6a442597cca6 Mon Sep 17 00:00:00 2001 From: Akos Horvath Date: Sun, 17 Sep 2023 15:25:40 +0200 Subject: [PATCH] add wm_treenode_to_str function, remove unnecessary wm_treenode_free --- src/util.c | 16 +++++++++++++++- src/util.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/util.c b/src/util.c index 5e2ccbd..c32f875 100644 --- a/src/util.c +++ b/src/util.c @@ -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) { 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) { client_node->client = NULL; - wm_treenode_free(client_node); return NULL; } diff --git a/src/util.h b/src/util.h index 0dc529d..dca13d9 100644 --- a/src/util.h +++ b/src/util.h @@ -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); 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_treenode_to_str(TreeNode *node, char *buf, size_t bufsize); NodeArray wm_nodearray_new(); void wm_nodearray_push(NodeArray *arr, TreeNode *node);