static int
subexp_inf_recursive_check_trav(Node* node, ScanEnv* env)
{
- int r = 0;
+ int r;
switch (NODE_TYPE(node)) {
case NODE_LIST:
} while (r == 0 && IS_NOT_NULL(node = NODE_CDR(node)));
break;
- case NODE_QTFR:
- r = subexp_inf_recursive_check_trav(NODE_BODY(node), env);
- break;
-
case NODE_ANCHOR:
- {
- AnchorNode* an = ANCHOR_(node);
- if (ANCHOR_HAS_BODY(an))
- r = subexp_inf_recursive_check_trav(NODE_ANCHOR_BODY(an), env);
+ if (! ANCHOR_HAS_BODY(ANCHOR_(node))) {
+ r = 0;
+ break;
}
+ /* fall */
+ case NODE_QTFR:
+ r = subexp_inf_recursive_check_trav(NODE_BODY(node), env);
break;
case NODE_ENCLOSURE:
break;
default:
+ r = 0;
break;
}