aboutsummaryrefslogtreecommitdiff
path: root/mfd/drivers.c
diff options
context:
space:
mode:
Diffstat (limited to 'mfd/drivers.c')
-rw-r--r--mfd/drivers.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/mfd/drivers.c b/mfd/drivers.c
index bb6d9e09..d8dfb4b2 100644
--- a/mfd/drivers.c
+++ b/mfd/drivers.c
@@ -2310,21 +2310,8 @@ code_type_funcdecl(NODE *node, struct locus **old_locus)
handle recursive functions */
func->entry = code_get_counter();
- /* Entry code */
- if (func->exmask) {
- code_op(opcode_saveex);
- code_immediate((void*)func->exmask);
- }
-
- if (codegen(&pc, node->v.funcdecl.tree, 0,
- node->v.funcdecl.auto_count) == 0) {
- jump_fixup(jump_pc, code_get_counter());
-
- /* Exit code */
- if (func->exmask)
- code_op(opcode_restex);
- code_op(opcode_return);
- }
+ codegen(&pc, node->v.funcdecl.tree, func->exmask, 0,
+ node->v.funcdecl.auto_count);
}
@@ -2359,7 +2346,7 @@ code_type_progdecl(NODE *node, struct locus **old_locus)
root_node[tag] = node->v.progdecl.tree;
if (codegen(&entry_point[tag],
- node->v.progdecl.tree, 1,
+ node->v.progdecl.tree, 0, 1,
node->v.progdecl.auto_count) == 0)
milter_enable_state(tag);
}

Return to:

Send suggestions and report system problems to the System administrator.