From f4f97b1bd0ba9d780e6565b05675a4a8debe2515 Mon Sep 17 00:00:00 2001 From: tgoodwin Date: Mon, 13 Jul 1998 10:22:15 +0000 Subject: add `x' --- addon.c | 11 ++++++++++- addon.h | 9 ++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/addon.c b/addon.c index b6ddc61..6e6c232 100644 --- a/addon.c +++ b/addon.c @@ -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); +} diff --git a/addon.h b/addon.h index b4a207b..4a69375 100644 --- a/addon.h +++ b/addon.h @@ -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 -- cgit v1.2.3