newstate = create_newstate_common (dfa, nodes, hash);
newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
create_ci_newstate (dfa, nodes, hash)     re_dfa_t *dfa;     const re_node_set *nodes;     unsigned int hash;{  int i;  reg_errcode_t err;  re_dfastate_t *newstate;  newstate = create_newstate_common (dfa, nodes, hash);  if (BE (newstate == NULL, 0))    return NULL;  newstate->entrance_nodes = &newstate->nodes;  for (i = 0 ; i < nodes->nelem ; i++)    {      re_token_t *node = dfa->nodes + nodes->elems[i];      re_token_type_t type = node->type;      if (type == CHARACTER && !node->constraint)	continue;      /* If the state has the halt node, the state is a halt state.  */      else if (type == END_OF_RE)	newstate->halt = 1;#ifdef RE_ENABLE_I18N      else if (type == COMPLEX_BRACKET	       || type == OP_UTF8_PERIOD	       || (type == OP_PERIOD && dfa->mb_cur_max > 1))	newstate->accept_mb = 1;#endif /* RE_ENABLE_I18N */      else if (type == OP_BACK_REF)	newstate->has_backref = 1;      else if (type == ANCHOR || node->constraint)	newstate->has_constraint = 1;    }  err = register_state (dfa, newstate, hash);  if (BE (err != REG_NOERROR, 0))    {      free_state (newstate);      newstate = NULL;    }  return newstate;}