diff src/core/ngx_rbtree.h @ 7875:0c5e84096d99

Core: added the ngx_rbtree_data() macro.
author Vladimir Homutov <vl@nginx.com>
date Mon, 21 Jun 2021 09:42:43 +0300
parents e0cc454aafe4
children
line wrap: on
line diff
--- a/src/core/ngx_rbtree.h
+++ b/src/core/ngx_rbtree.h
@@ -47,6 +47,9 @@ struct ngx_rbtree_s {
     (tree)->sentinel = s;                                                     \
     (tree)->insert = i
 
+#define ngx_rbtree_data(node, type, link)                                     \
+    (type *) ((u_char *) (node) - offsetof(type, link))
+
 
 void ngx_rbtree_insert(ngx_rbtree_t *tree, ngx_rbtree_node_t *node);
 void ngx_rbtree_delete(ngx_rbtree_t *tree, ngx_rbtree_node_t *node);