summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2022-01-22 16:53:29 +0000
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2022-01-22 16:53:29 +0000
commit9c93bc20cc68e50461bb086f24f335de9dcc5135 (patch)
treeff860c161b890feaa16846ce00fe6c55c2929db5 /eval.c
parent071bef0ccfca9137eb3c814cbc9552f02e6f1b4d (diff)
Implement ⎕DIV for allowing division by zero to result in 0 if needed
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/eval.c b/eval.c
index 1070cb2..86d0d15 100644
--- a/eval.c
+++ b/eval.c
@@ -230,11 +230,9 @@ nameis(Datum left, Datum right)
Datum
assign(Datum left, Datum right)
{
- if(left.symbol->setfn != nil){
- int ok = left.symbol->setfn(right);
- if(!ok)
- throwerror(nil, ESyntax);
- }else{
+ if(left.symbol->setfn != nil)
+ left.symbol->setfn(right);
+ else{
if(left.symbol->undefined == 0 && left.symbol->value.tag == ArrayTag)
freearray(left.symbol->value.array);
left.symbol->value = right;