diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-05-11 21:48:14 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-05-11 21:48:14 +0300 |
commit | f8323650568b0031f0ec4c50cde417cb10a48c56 (patch) | |
tree | b0007c30366860dc079a7bf8828d254b7486630f /mfd/prog.c | |
parent | ffd2cf189d926abe00de0a79f292f1ea69d02aac (diff) | |
download | mailfromd-f8323650568b0031f0ec4c50cde417cb10a48c56.tar.gz mailfromd-f8323650568b0031f0ec4c50cde417cb10a48c56.tar.bz2 |
Implement functional notation for reply actions
* NEWS, doc/mailfromd.texi: Update.
* mfd/drivers.c (print_type_result, mark_type_result)
(optimize_type_result, code_type_result): Rewrite.
* mfd/gram.y: Rewrite action rules.
* mfd/lex.l (CODE,XCODE): Remove.
* mfd/opcodes (RESULT): Takes one immediate parameter.
(instr_result): Get arguments from stack.
Diffstat (limited to 'mfd/prog.c')
-rw-r--r-- | mfd/prog.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -1487,9 +1487,9 @@ instr_result(eval_environ_t env) char *code, *xcode; char *message; - get_string_arg(env, 0, &message); - get_literal(env, 1, (const char**)&code); - get_literal(env, 2, (const char**)&xcode); + get_string_arg(env, 2, &message); + get_string_arg(env, 1, &xcode); + get_string_arg(env, 0, &code); if (PROG_TRACE_ENGINE) prog_trace(env, "RESULT %d %s %s %s", @@ -1513,8 +1513,8 @@ instr_result(eval_environ_t env) env->status = status; env->setreply(env->data, code, xcode, message); - advance_pc(env, 3); - adjust_stack(env, 1); + advance_pc(env, 1); + adjust_stack(env, 3); } void |