• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/postfix-255/postfix/src/trivial-rewrite/

Lines Matching defs:tree

19 /*	void	rewrite_tree(context, tree)
21 /* TOK822 *tree;
39 /* rewrite_tree() rewrites a parse tree with a single address to
40 /* another tree. A tree is a dummy node on top of a token list.
102 void rewrite_tree(RWR_CONTEXT *context, TOK822 *tree)
118 if (tree->head == 0)
119 msg_panic("rewrite_tree: empty tree");
124 if (tree->head == tree->tail
125 && tree->tail->type == TOK822_QSTRING
126 && VSTRING_LEN(tree->tail->vstr) == 0)
132 if (tree->head == tree->tail
133 && tree->tail->type == '@') {
134 tok822_free_tree(tok822_sub_keep_before(tree, tree->tail));
135 tok822_sub_append(tree, tok822_alloc(TOK822_QSTRING, ""));
142 if (tree->head->type == '@'
143 && (colon = tok822_find_type(tree->head, ':')) != 0
144 && colon != tree->tail)
145 tok822_free_tree(tok822_sub_keep_after(tree, colon));
150 if ((domain = tok822_rfind_type(tree->tail, '@')) == 0) {
156 && (bang = tok822_find_type(tree->head, '!')) != 0) {
157 tok822_sub_keep_before(tree, bang);
160 tok822_sub_prepend(tree, tok822_alloc('@', (char *) 0));
162 tok822_sub_prepend(tree, local);
169 && (domain = tok822_rfind_type(tree->tail, '%')) != 0) {
179 domain = tok822_sub_append(tree, tok822_alloc('@', (char *) 0));
180 tok822_sub_append(tree, tok822_scan(REW_PARAM_VALUE(context->origin),
193 && (domain = tok822_rfind_type(tree->tail, '@')) != 0
194 && domain != tree->tail
197 tok822_sub_append(tree, tok822_alloc('.', (char *) 0));
198 tok822_sub_append(tree, tok822_scan(REW_PARAM_VALUE(context->domain),
207 if (tree->tail->type == '.'
208 && tree->tail->prev
209 && tree->tail->prev->type != '.'
210 && tree->tail->prev->type != '@')
211 tok822_free_tree(tok822_sub_keep_before(tree, tree->tail));
219 TOK822 *tree;
249 tree = tok822_scan_addr(vstring_str(address));
250 rewrite_tree(context, tree);
251 tok822_externalize(result, tree, TOK822_STR_DEFL);
252 tok822_free_tree(tree);