diff options
| author | tgoodwin <tgoodwin> | 1998-07-13 10:22:15 +0000 |
|---|---|---|
| committer | Toby Goodwin <toby@paccrat.org> | 2015-05-16 21:23:08 +0100 |
| commit | f4f97b1bd0ba9d780e6565b05675a4a8debe2515 (patch) | |
| tree | b36adffb6242a93b3340751af2af412e37f28d91 | |
| parent | 75b4f0440f1e83b020e17b0d09dafe37dbf7e4ee (diff) | |
add `x'
| -rw-r--r-- | addon.c | 11 | ||||
| -rw-r--r-- | addon.h | 9 |
2 files changed, 16 insertions, 4 deletions
@@ -6,7 +6,7 @@ #include "rc.h" #include "addon.h" -void b_add(char **av) { +void b_sum(char **av) { long sum = 0; while (*++av) @@ -14,3 +14,12 @@ void b_add(char **av) { fprint(1, "%ld\n", sum); set(TRUE); } + +void b_prod(char **av) { + long sum = 1; + + while (*++av) + sum *= atol(*av); + fprint(1, "%ld\n", sum); + set(TRUE); +} @@ -16,13 +16,16 @@ argument is followed by a NULL pointer. Builtins report their exit status using set(TRUE) or set(FALSE). - + */ #if RC_ADDON -#define ADDONS { b_add, "+" }, +#define ADDONS \ + { b_sum, "+" }, \ + { b_prod, "x" }, -extern void b_add(char **av); +extern void b_sum(char **av); +extern void b_prod(char **av); #endif |