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
@@ -1488,7 +1488,7 @@ instr_result(eval_environ_t env) | |||
1488 | char *message; | 1488 | char *message; |
1489 | 1489 | ||
1490 | get_string_arg(env, 0, &message); | 1490 | get_string_arg(env, 2, &message); |
1491 | get_literal(env, 1, (const char**)&code); | 1491 | get_string_arg(env, 1, &xcode); |
1492 | get_literal(env, 2, (const char**)&xcode); | 1492 | get_string_arg(env, 0, &code); |
1493 | 1493 | ||
1494 | if (PROG_TRACE_ENGINE) | 1494 | if (PROG_TRACE_ENGINE) |
@@ -1514,6 +1514,6 @@ instr_result(eval_environ_t env) | |||
1514 | env->status = status; | 1514 | env->status = status; |
1515 | env->setreply(env->data, code, xcode, message); | 1515 | env->setreply(env->data, code, xcode, message); |
1516 | advance_pc(env, 3); | 1516 | advance_pc(env, 1); |
1517 | adjust_stack(env, 1); | 1517 | adjust_stack(env, 3); |
1518 | } | 1518 | } |
1519 | 1519 | ||