32 |
|
|
33 |
|
#define isdecimal(c) (isdigit(c) || (c) == '.') |
34 |
|
|
35 |
< |
extern double atof(), pow(); |
35 |
> |
#ifndef atof |
36 |
> |
extern double atof(); |
37 |
> |
#endif |
38 |
> |
extern double pow(); |
39 |
|
extern char *fgets(), *savestr(); |
40 |
|
extern char *emalloc(), *ecalloc(); |
41 |
|
extern EPNODE *curfunc; |
588 |
|
if (ep2->type == NUM) { |
589 |
|
ep2->v.num = -ep2->v.num; |
590 |
|
return(ep2); |
591 |
+ |
} |
592 |
+ |
if (ep2->type == UMINUS) { /* don't generate -(-E5) */ |
593 |
+ |
efree((char *)ep2); |
594 |
+ |
return(ep2->v.kid); |
595 |
|
} |
596 |
|
ep1 = newnode(); |
597 |
|
ep1->type = UMINUS; |