Mercurial > hg > CbC > old > device
changeset 532:cecf5103679e
cond fix
author | kono |
---|---|
date | Fri, 30 Dec 2005 13:36:17 +0900 |
parents | 19f5882997f5 |
children | 80b5058f0535 |
files | mc-inline.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mc-inline.c Fri Dec 30 13:01:41 2005 +0900 +++ b/mc-inline.c Fri Dec 30 13:36:17 2005 +0900 @@ -924,8 +924,10 @@ return pbinop(car(e1),e2,caddr(e1)); case LCOND: case DCOND: case FCOND: case COND: case UCOND: case LUCOND: e3 = pexpr(e2); - if (car(e3)==CONST) return pexpr(cadr(e3)?caddr(e1):cadddr(e1)); - return list4(car(e1),e3,pexpr(cadr(e1)),pexpr(cadr(e2))); + if (car(e3)==CONST) return + caddr(e1)? pexpr(cadr(e3)?caddr(e1):cadddr(e1)) : + pexpr(cadr(e3)?e3:cadddr(e1)); // GNU extension h?:g + return list4(car(e1),e3,pexpr(caddr(e1)),pexpr(cadddr(e1))); case STASS: return psassign(e1); case ASS: case CASS: case SASS: