aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'expression.c')
-rw-r--r--expression.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/expression.c b/expression.c
index 77d665d..857ec08 100644
--- a/expression.c
+++ b/expression.c
@@ -30,15 +30,15 @@
static int match_oplist(int op, ...)
{
va_list args;
+ int nextop;
va_start(args, op);
- for (;;) {
- int nextop = va_arg(args, int);
- if (!nextop)
- return 0;
- if (op == nextop)
- return 1;
- }
+ do {
+ nextop = va_arg(args, int);
+ } while (nextop != 0 && nextop != op);
+ va_end(args);
+
+ return nextop != 0;
}
static struct token *comma_expression(struct token *, struct expression **);