Browse Source

frontend/define.c, ntharg(), #7/15 substitute tail of ntharg() for `break'

pre-master-46
rlar 11 years ago
parent
commit
e93327fdb7
  1. 15
      src/frontend/define.c

15
src/frontend/define.c

@ -410,22 +410,23 @@ ntharg(int num, struct pnode *args)
// fact: num >= 1 for all known invocations of ntharg() // fact: num >= 1 for all known invocations of ntharg()
for (;;) { for (;;) {
if (--num <= 0) { if (--num <= 0) {
break;
if (args && args->pn_op && (args->pn_op->op_num == PT_OP_COMMA))
return args->pn_left;
return args;
} }
if (args && args->pn_op && (args->pn_op->op_num != PT_OP_COMMA)) { if (args && args->pn_op && (args->pn_op->op_num != PT_OP_COMMA)) {
if (num <= 1) if (num <= 1)
break;
{
if (args && args->pn_op && (args->pn_op->op_num == PT_OP_COMMA))
return args->pn_left;
return args;
}
return NULL; return NULL;
} }
if (!args) if (!args)
return NULL; return NULL;
args = args->pn_right; args = args->pn_right;
} }
if (args && args->pn_op && (args->pn_op->op_num == PT_OP_COMMA))
return args->pn_left;
return args;
} }

Loading…
Cancel
Save