Lines Matching defs:newstate

29 static reg_errcode_t register_state (re_dfa_t *dfa, re_dfastate_t *newstate,
1497 register_state (dfa, newstate, hash)
1499 re_dfastate_t *newstate;
1506 newstate->hash = hash;
1507 err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem);
1510 for (i = 0; i < newstate->nodes.nelem; i++)
1512 int elem = newstate->nodes.elems[i];
1514 re_node_set_insert_last (&newstate->non_eps_nodes, elem);
1528 spot->array[spot->num++] = newstate;
1543 re_dfastate_t *newstate;
1545 newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
1546 if (BE (newstate == NULL, 0))
1548 err = re_node_set_init_copy (&newstate->nodes, nodes);
1551 re_free (newstate);
1555 newstate->entrance_nodes = &newstate->nodes;
1563 newstate->accept_mb |= node->accept_mb;
1568 newstate->halt = 1;
1570 newstate->has_backref = 1;
1572 newstate->has_constraint = 1;
1574 err = register_state (dfa, newstate, hash);
1577 free_state (newstate);
1578 newstate = NULL;
1580 return newstate;
1594 re_dfastate_t *newstate;
1596 newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
1597 if (BE (newstate == NULL, 0))
1599 err = re_node_set_init_copy (&newstate->nodes, nodes);
1602 re_free (newstate);
1606 newstate->context = context;
1607 newstate->entrance_nodes = &newstate->nodes;
1620 newstate->accept_mb |= node->accept_mb;
1625 newstate->halt = 1;
1627 newstate->has_backref = 1;
1633 if (newstate->entrance_nodes == &newstate->nodes)
1635 newstate->entrance_nodes = re_malloc (re_node_set, 1);
1636 if (BE (newstate->entrance_nodes == NULL, 0))
1638 free_state (newstate);
1641 re_node_set_init_copy (newstate->entrance_nodes, nodes);
1643 newstate->has_constraint = 1;
1648 re_node_set_remove_at (&newstate->nodes, i - nctx_nodes);
1653 err = register_state (dfa, newstate, hash);
1656 free_state (newstate);
1657 newstate = NULL;
1659 return newstate;