37 |
|
|
38 |
|
#define envalue(ep) ((ep)->type==NUM ? (ep)->v.num : evalue(ep)) |
39 |
|
|
40 |
< |
static double euminus(EPNODE *), eargument(EPNODE *), enumber(EPNODE *); |
40 |
> |
static double euminus(EPNODE *), enumber(EPNODE *); |
41 |
|
static double echannel(EPNODE *); |
42 |
|
static double eadd(EPNODE *), esubtr(EPNODE *), |
43 |
|
emult(EPNODE *), edivi(EPNODE *), |
208 |
|
} |
209 |
|
if (frep) |
210 |
|
efree(epar); |
211 |
+ |
else |
212 |
+ |
memset(epar, 0, sizeof(EPNODE)); |
213 |
|
} |
214 |
|
|
215 |
|
|
268 |
|
|
269 |
|
/* the following used to be a switch */ |
270 |
|
static double |
269 |
– |
eargument( |
270 |
– |
EPNODE *ep |
271 |
– |
) |
272 |
– |
{ |
273 |
– |
return(argument(ep->v.chan)); |
274 |
– |
} |
275 |
– |
|
276 |
– |
static double |
271 |
|
enumber( |
272 |
|
EPNODE *ep |
273 |
|
) |
732 |
|
ep2 = ep1; |
733 |
|
} else if ((ep3->type == NUM && ep3->v.num == 0) | |
734 |
|
(ep1->type == NUM && ep1->v.num == 1)) { |
735 |
< |
epfree(ep2,1); /* (E4 ^ 0) or (1 ^ E3) */ |
742 |
< |
ep2 = newnode(); |
735 |
> |
epfree(ep2,0); /* (E4 ^ 0) or (1 ^ E3) */ |
736 |
|
ep2->type = NUM; |
737 |
|
ep2->v.num = 1; |
738 |
|
} else if (ep3->type == NUM && ep3->v.num == 1) { |