else if (node->type == SIMPLE_BRACKET && node->duplicated == 0)
else #endif  if (node->type == SIMPLE_BRACKET && node->duplicated == 0)
regfree (preg)    regex_t *preg;{  int i, j;  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;  if (BE (dfa != NULL, 1))    {      re_free (dfa->subexps);      for (i = 0; i < dfa->nodes_len; ++i)        {          re_token_t *node = dfa->nodes + i;          if (node->type == COMPLEX_BRACKET && node->duplicated == 0)            free_charset (node->opr.mbcset);          else if (node->type == SIMPLE_BRACKET && node->duplicated == 0)            re_free (node->opr.sbcset);          else if (node->type == OP_CONTEXT_NODE)            {              if (dfa->nodes[node->opr.ctx_info->entity].type == OP_BACK_REF)                {                  if (node->opr.ctx_info->bkref_eclosure != NULL)                    re_node_set_free (node->opr.ctx_info->bkref_eclosure);                  re_free (node->opr.ctx_info->bkref_eclosure);                }              re_free (node->opr.ctx_info);            }        }      re_free (dfa->firsts);      re_free (dfa->nexts);      for (i = 0; i < dfa->nodes_len; ++i)        {          if (dfa->eclosures != NULL)            re_node_set_free (dfa->eclosures + i);          if (dfa->inveclosures != NULL)            re_node_set_free (dfa->inveclosures + i);          if (dfa->edests != NULL)            re_node_set_free (dfa->edests + i);        }      re_free (dfa->edests);      re_free (dfa->eclosures);      re_free (dfa->inveclosures);      re_free (dfa->nodes);      for (i = 0; i <= dfa->state_hash_mask; ++i)        {          struct re_state_table_entry *entry = dfa->state_table + i;          for (j = 0; j < entry->num; ++j)            {              re_dfastate_t *state = entry->array[j];              if (state->entrance_nodes != &state->nodes)                {                  re_node_set_free (state->entrance_nodes);                  re_free (state->entrance_nodes);                }              re_node_set_free (&state->nodes);              re_free (state->trtable);              re_free (state->trtable_search);              re_free (state);            }          re_free (entry->array);        }      re_free (dfa->state_table);      if (dfa->word_char != NULL)        re_free (dfa->word_char);      re_free (dfa);    }  re_free (preg->fastmap);}