-static unsigned
-macro_dump(macro_item * m)
-{
-int left = 0, right = 0;
-tree_node * t;
-macro_item_64 * m64;
-
-/* fprintf(stderr, "%s %p\n", __FUNCTION__, m); */
-
-if (!m) return 0;
-/* fprintf(stderr, "%s '%s' l %p r %p\n", __FUNCTION__, m->tnode.name, m->tnode.left, m->tnode.left); */
-if ((t = m->tnode.left)) left = macro_dump(tnode_to_mitem(m->tnode.left));
-if ((t = m->tnode.right)) right = macro_dump(tnode_to_mitem(m->tnode.right));
-
-printf ("static macro_item_64 p%u = { ", m->m_number);
-printf(" .command_line=FALSE,"
- " .namelen=%d,"
- " .replen=%d,"
- " .m_number=%u,"
- " .tnode={",
- Ustrlen(m->tnode.name), Ustrlen(m->tnode.data.ptr), m->m_number);
-printf(left ? " .left=&p%d.tnode," : " .left=NULL,", left);
-printf(right ? " .right=&p%d.tnode," : " .right=NULL,", right);
-printf(
- " .data.ptr=\"%s\","
- " .balance=%d,"
- " .name=\"%s\"}};\n",
- CS m->tnode.data.ptr,
- m->tnode.balance,
- CS m->tnode.name);
-
-if (Ustrlen(m->tnode.name) +1 > sizeof(m64->tnode.name))
- {
- printf("#error macro name too long for macro_item_64\n");
- exit(1);
- }
-return m->m_number;
-}
-
-
-