int idx;
mark_opt_subexp_iter (src, dfa, idx)     const bin_tree_t *src;     re_dfa_t *dfa;{  int node_idx;  if (src->type == NON_TYPE)    {      node_idx = src->node_idx;      if ((dfa->nodes[node_idx].type == OP_OPEN_SUBEXP	   || dfa->nodes[node_idx].type == OP_CLOSE_SUBEXP)	  && dfa->nodes[node_idx].opr.idx == idx)	dfa->nodes[node_idx].opt_subexp = 1;     }  if (src->left != NULL)    mark_opt_subexp_iter (src->left, dfa, idx);  if (src->right != NULL)    mark_opt_subexp_iter (src->right, dfa, idx);}