move dereference operation into macro

Fri, 08 Oct 2021 18:58:49 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 08 Oct 2021 18:58:49 +0200
changeset 472
18f964adad1b
parent 470
e5a4de4f1e03
child 473
1bd4b8c28722

move dereference operation into macro

src/tree.c file | annotate | diff | comparison | revisions
     1.1 --- a/src/tree.c	Wed Oct 06 14:24:52 2021 +0200
     1.2 +++ b/src/tree.c	Fri Oct 08 18:58:49 2021 +0200
     1.3 @@ -29,14 +29,14 @@
     1.4  #include "cx/tree.h"
     1.5  #include "cx/linked_list.h"
     1.6  
     1.7 -#define CX_TR_PTR(cur, off) ((void**)(((char*)cur)+off))
     1.8 +#define CX_TR_PTR(cur, off) *((void**)(((char*)cur)+off))
     1.9  
    1.10  void cx_tree_add_sibling(void *node, ptrdiff_t loc_prev, ptrdiff_t loc_next, ptrdiff_t loc_parent, void *new_node) {
    1.11      cx_linked_list_add(&node, NULL, loc_prev, loc_next, new_node);
    1.12  
    1.13      // optional parent link
    1.14      if (loc_parent >= 0) {
    1.15 -        *CX_TR_PTR(new_node, loc_parent) = *CX_TR_PTR(node, loc_parent);
    1.16 +        CX_TR_PTR(new_node, loc_parent) = CX_TR_PTR(node, loc_parent);
    1.17      }
    1.18  }
    1.19  
    1.20 @@ -47,6 +47,6 @@
    1.21  
    1.22      // optional parent link
    1.23      if (loc_parent >= 0) {
    1.24 -        *CX_TR_PTR(new_node, loc_parent) = parent;
    1.25 +        CX_TR_PTR(new_node, loc_parent) = parent;
    1.26      }
    1.27  }

mercurial