version 1.112, 2014/12/15 23:42:31 |
version 1.113, 2014/12/16 01:21:37 |
|
|
static int |
static int |
roff_evalcond(struct roff *r, int ln, const char *v, int *pos) |
roff_evalcond(struct roff *r, int ln, const char *v, int *pos) |
{ |
{ |
int wanttrue, number; |
int number, savepos, wanttrue; |
|
|
if ('!' == v[*pos]) { |
if ('!' == v[*pos]) { |
wanttrue = 0; |
wanttrue = 0; |
|
|
break; |
break; |
} |
} |
|
|
|
savepos = *pos; |
if (roff_evalnum(r, ln, v, pos, &number, 0)) |
if (roff_evalnum(r, ln, v, pos, &number, 0)) |
return((number > 0) == wanttrue); |
return((number > 0) == wanttrue); |
else |
else if (*pos == savepos) |
return(roff_evalstrcond(v, pos) == wanttrue); |
return(roff_evalstrcond(v, pos) == wanttrue); |
|
else |
|
return (0); |
} |
} |
|
|
static enum rofferr |
static enum rofferr |