aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ell.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ell.c b/ell.c
index 8234432..b221393 100644
--- a/ell.c
+++ b/ell.c
@@ -1055,7 +1055,12 @@ defn (fn_plus) {
}
defn (fn_minus) {
- double res = 0.0;
+ if (!args || args->type != ITEM_STRING)
+ return set_error (ctx, "first argument must be string");
+ double res = strtod (args->value, NULL);
+ if (!(args = args->next))
+ res = -res;
+
for (; args; args = args->next) {
if (args->type != ITEM_STRING)
return set_error (ctx, "arguments must be strings");