chiark / gitweb /
chain.c: Hoist definitions of `WORDPTR' and `WORDLEN'.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 30 Mar 2025 20:29:08 +0000 (21:29 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 30 Mar 2025 21:48:44 +0000 (22:48 +0100)
chain.c

diff --git a/chain.c b/chain.c
index 6933febccbebb16547ca40ecd30ad3295f8fbf41..f37f1bd294b37abe1636ac2152718e176acd1acb 100644 (file)
--- a/chain.c
+++ b/chain.c
@@ -184,12 +184,16 @@ struct node {
   TREE_NODEPFX;
 #elif TREE == MLIB_SYM
   struct sym_base _s;
   TREE_NODEPFX;
 #elif TREE == MLIB_SYM
   struct sym_base _s;
+# define WORDPTR(node) (SYM_NAME(node))
+# define WORDLEN(node) (SYM_LEN(node))
 #endif
 #if TREE == MLIB_SYM || (USE_QPTRIE && QPTRIE_ITER == QPITER_LIST)
   struct node *next;
 #endif
 #if TREE != MLIB_SYM
   struct word w;
 #endif
 #if TREE == MLIB_SYM || (USE_QPTRIE && QPTRIE_ITER == QPITER_LIST)
   struct node *next;
 #endif
 #if TREE != MLIB_SYM
   struct word w;
+# define WORDPTR(node) ((node)->w.p)
+# define WORDLEN(node) ((node)->w.n)
 #endif
   struct node *down, *right, *up;
   short len;
 #endif
   struct node *down, *right, *up;
   short len;
@@ -544,9 +548,6 @@ static void free_node(void *n, void *arg) { free(n); }
 
 #  define FOCUS do ; while (0)
 
 
 #  define FOCUS do ; while (0)
 
-#  define WORDPTR(node) (SYM_NAME(node))
-#  define WORDLEN(node) (SYM_LEN(node))
-
 #  define LOOKUP sym_find(&tab, word.p, word.n, 0, 0)
 
 #  define FREE do { sym_destroy(&tab); } while (0)
 #  define LOOKUP sym_find(&tab, word.p, word.n, 0, 0)
 
 #  define FREE do { sym_destroy(&tab); } while (0)
@@ -564,14 +565,6 @@ static void free_node(void *n, void *arg) { free(n); }
    } while (0)
 #endif
 
    } while (0)
 #endif
 
-#ifndef WORDPTR
-#  define WORDPTR(node) ((node)->w.p)
-#endif
-
-#ifndef WORDLEN
-#  define WORDLEN(node) ((node)->w.n)
-#endif
-
 #ifndef GETPREFIX
 #  define GETPREFIX do {                                               \
        word.p = WORDPTR(node); word.n = WORDLEN(node) - 1;             \
 #ifndef GETPREFIX
 #  define GETPREFIX do {                                               \
        word.p = WORDPTR(node); word.n = WORDLEN(node) - 1;             \