if (MB_CUR_MAX > 1)
if (dfa->mb_cur_max > 1)
transit_state_sb (err, preg, state, fl_search, mctx)     reg_errcode_t *err;     const regex_t *preg;     re_dfastate_t *state;     int fl_search;     re_match_context_t *mctx;{  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;  re_node_set next_nodes;  re_dfastate_t *next_state;  int node_cnt, cur_str_idx = re_string_cur_idx (mctx->input);  unsigned int context;  *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1);  if (BE (*err != REG_NOERROR, 0))    return NULL;  for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt)    {      int cur_node = state->nodes.elems[node_cnt];      if (check_node_accept (preg, dfa->nodes + cur_node, mctx, cur_str_idx))	{	  *err = re_node_set_merge (&next_nodes,				    dfa->eclosures + dfa->nexts[cur_node]);	  if (BE (*err != REG_NOERROR, 0))	    {	      re_node_set_free (&next_nodes);	      return NULL;	    }	}    }  if (fl_search)    {#ifdef RE_ENABLE_I18N      int not_initial = 0;      if (MB_CUR_MAX > 1)	for (node_cnt = 0; node_cnt < next_nodes.nelem; ++node_cnt)	  if (dfa->nodes[next_nodes.elems[node_cnt]].type == CHARACTER)	    {	      not_initial = dfa->nodes[next_nodes.elems[node_cnt]].mb_partial;	      break;	    }      if (!not_initial)#endif	{	  *err = re_node_set_merge (&next_nodes,				    dfa->init_state->entrance_nodes);	  if (BE (*err != REG_NOERROR, 0))	    {	      re_node_set_free (&next_nodes);	      return NULL;	    }	}    }  context = re_string_context_at (mctx->input, cur_str_idx, mctx->eflags,				  preg->newline_anchor);  next_state = re_acquire_state_context (err, dfa, &next_nodes, context);  /* We don't need to check errors here, since the return value of     this function is next_state and ERR is already set.  */  re_node_set_free (&next_nodes);  re_string_skip_bytes (mctx->input, 1);  return next_state;}