Lines Matching full:states
321 int nbState; /* the number of states */
374 xmlRelaxNGStatesPtr states; /* the accumulated state list */
376 xmlRelaxNGStatesPtr freeState; /* the pool of free valid states */
1026 xmlRngVErrMemory(ctxt, "allocating states\n");
1035 xmlRngVErrMemory(ctxt, "allocating states\n");
1045 * @states: the states container
1055 xmlRelaxNGStatesPtr states,
1061 if (states->nbState >= states->maxState) {
1065 size = states->maxState * 2;
1066 tmp = (xmlRelaxNGValidStatePtr *) xmlRealloc(states->tabState,
1071 xmlRngVErrMemory(ctxt, "adding states\n");
1074 states->tabState = tmp;
1075 states->maxState = size;
1077 states->tabState[states->nbState++] = state;
1084 * @states: the states container
1093 xmlRelaxNGStatesPtr states,
1098 if (state == NULL || states == NULL) {
1101 if (states->nbState >= states->maxState) {
1105 size = states->maxState * 2;
1106 tmp = (xmlRelaxNGValidStatePtr *) xmlRealloc(states->tabState,
1111 xmlRngVErrMemory(ctxt, "adding states\n");
1114 states->tabState = tmp;
1115 states->maxState = size;
1117 for (i = 0; i < states->nbState; i++) {
1118 if (xmlRelaxNGEqualValidState(ctxt, state, states->tabState[i])) {
1123 states->tabState[states->nbState++] = state;
1130 * @states: teh container
1136 xmlRelaxNGStatesPtr states)
1138 if (states == NULL)
1146 xmlRngVErrMemory(ctxt, "storing states\n");
1157 xmlRngVErrMemory(ctxt, "storing states\n");
1158 xmlFree(states->tabState);
1159 xmlFree(states);
1166 xmlFree(states->tabState);
1167 xmlFree(states);
1169 ctxt->freeStates[ctxt->freeStatesNr++] = states;
1213 xmlRngVErrMemory(ctxt, "allocating states\n");
1237 xmlRngVErrMemory(ctxt, "allocating states\n");
1246 xmlRngVErrMemory(ctxt, "allocating states\n");
1295 xmlRngVErrMemory(ctxt, "allocating states\n");
1311 xmlRngVErrMemory(ctxt, "allocating states\n");
1321 xmlRngVErrMemory(ctxt, "allocating states\n");
1340 * Compare the validation states for equality
8230 } else if (ctxt->states != NULL) {
8235 for (i = 0; i < ctxt->states->nbState; i++) {
8236 state = ctxt->states->tabState[i];
8252 for (i = 0; i < ctxt->states->nbState; i++) {
8253 xmlRelaxNGFreeValidState(ctxt, ctxt->states->tabState[i]);
8255 xmlRelaxNGFreeStates(ctxt, ctxt->states);
8256 ctxt->states = NULL;
9215 if ((ctxt->state != NULL) || (ctxt->states != NULL)) {
9453 } else if (ctxt->states != NULL) {
9463 for (j = 0; j < ctxt->states->nbState; j++) {
9464 cur = ctxt->states->tabState[j]->seq;
9468 lowattr = ctxt->states->tabState[j]->nbAttrLeft;
9472 if (ctxt->states->tabState[j]->nbAttrLeft <= lowattr) {
9474 lowattr = ctxt->states->tabState[j]->nbAttrLeft;
9481 lowattr = ctxt->states->tabState[j]->nbAttrLeft;
9484 if (ctxt->states->tabState[j]->nbAttrLeft <= lowattr) {
9486 lowattr = ctxt->states->tabState[j]->nbAttrLeft;
9494 if (ctxt->states->nbState > 0) {
9497 oldstate = ctxt->states->tabState[best];
9498 ctxt->states->tabState[best] = NULL;
9501 ctxt->states->tabState[ctxt->states->nbState - 1];
9502 ctxt->states->tabState[ctxt->states->nbState - 1] = NULL;
9503 ctxt->states->nbState--;
9506 for (j = 0; j < ctxt->states->nbState ; j++) {
9507 xmlRelaxNGFreeValidState(ctxt, ctxt->states->tabState[j]);
9509 xmlRelaxNGFreeStates(ctxt, ctxt->states);
9510 ctxt->states = NULL;
9584 if ((ctxt->state != NULL) || (ctxt->states != NULL)) {
9717 * Find the "best" state in the ctxt->states list of states to report
9732 if ((ctxt == NULL) || (ctxt->states == NULL) ||
9733 (ctxt->states->nbState <= 0))
9736 for (i = 0; i < ctxt->states->nbState; i++) {
9737 state = ctxt->states->tabState[i];
9760 * Find the "best" state in the ctxt->states list of states to report
9768 if ((ctxt == NULL) || (ctxt->states == NULL) ||
9769 (ctxt->states->nbState <= 0))
9773 if ((best >= 0) && (best < ctxt->states->nbState)) {
9774 ctxt->state = ctxt->states->tabState[best];
9963 xmlRelaxNGStatesPtr tmpstates = ctxt->states;
9968 ctxt->states = NULL;
9975 ctxt->states = tmpstates;
9986 if (ctxt->states != NULL) {
9989 for (i = 0; i < ctxt->states->nbState; i++) {
9990 state = ctxt->states->tabState[i];
10006 for (i = 0; i < ctxt->states->nbState; i++) {
10008 ctxt->states->
10011 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10013 ctxt->states = NULL;
10043 if (ctxt->states != NULL) {
10046 for (i = 0; i < ctxt->states->nbState; i++) {
10047 state = ctxt->states->tabState[i];
10062 for (i = 0; i < ctxt->states->nbState; i++) {
10064 ctxt->states->tabState[i]);
10065 ctxt->states->tabState[i] = NULL;
10067 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10069 ctxt->states = NULL;
10134 if (ctxt->states != NULL) {
10135 xmlRelaxNGAddStates(ctxt, ctxt->states, oldstate);
10137 ctxt->states = xmlRelaxNGNewStates(ctxt, 1);
10138 if (ctxt->states == NULL) {
10146 xmlRelaxNGAddStates(ctxt, ctxt->states, oldstate);
10147 xmlRelaxNGAddStates(ctxt, ctxt->states, ctxt->state);
10167 xmlRelaxNGStatesPtr states = NULL, res = NULL;
10177 * All the input states are also exit states
10185 for (j = 0; j < ctxt->states->nbState; j++) {
10188 ctxt->states->tabState[j]));
10197 if (ctxt->states != NULL) {
10198 states = ctxt->states;
10199 for (i = 0; i < states->nbState; i++) {
10200 ctxt->state = states->tabState[i];
10201 ctxt->states = NULL;
10212 } else if (ctxt->states != NULL) {
10213 for (j = 0; j < ctxt->states->nbState;
10217 ctxt->states->tabState[j]);
10222 ctxt->states);
10223 ctxt->states = NULL;
10248 } else if (ctxt->states != NULL) {
10249 for (j = 0; j < ctxt->states->nbState; j++) {
10251 ctxt->states->tabState[j]);
10255 if (states == NULL) {
10256 states = ctxt->states;
10259 ctxt->states);
10261 ctxt->states = NULL;
10276 if (states == NULL) {
10279 states = ctxt->states;
10280 if (states == NULL) {
10285 states->nbState = 0;
10287 xmlRelaxNGAddStates(ctxt, states,
10290 ctxt->states = states;
10294 if (states != NULL) {
10295 xmlRelaxNGFreeStates(ctxt, states);
10297 ctxt->states = res;
10311 xmlRelaxNGStatesPtr states = NULL;
10369 if (states == NULL) {
10370 states = xmlRelaxNGNewStates(ctxt, 1);
10373 xmlRelaxNGAddStates(ctxt, states, ctxt->state);
10374 } else if (ctxt->states != NULL) {
10375 for (i = 0; i < ctxt->states->nbState; i++) {
10376 xmlRelaxNGAddStates(ctxt, states,
10377 ctxt->states->
10380 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10381 ctxt->states = NULL;
10389 if (states != NULL) {
10391 ctxt->states = states;
10395 ctxt->states = NULL;
10601 xmlRelaxNGStatesPtr states, res;
10605 * We should NOT have both ctxt->state and ctxt->states
10607 if ((ctxt->state != NULL) && (ctxt->states != NULL)) {
10612 if ((ctxt->states == NULL) || (ctxt->states->nbState == 1)) {
10613 if (ctxt->states != NULL) {
10614 ctxt->state = ctxt->states->tabState[0];
10615 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10616 ctxt->states = NULL;
10619 if ((ctxt->state != NULL) && (ctxt->states != NULL)) {
10623 if ((ctxt->states != NULL) && (ctxt->states->nbState == 1)) {
10624 ctxt->state = ctxt->states->tabState[0];
10625 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10626 ctxt->states = NULL;
10631 states = ctxt->states;
10632 ctxt->states = NULL;
10637 for (i = 0; i < states->nbState; i++) {
10638 ctxt->state = states->tabState[i];
10639 ctxt->states = NULL;
10642 * We should NOT have both ctxt->state and ctxt->states
10644 if ((ctxt->state != NULL) && (ctxt->states != NULL)) {
10649 if (ctxt->states == NULL) {
10655 /* add the state directly in states */
10656 states->tabState[j++] = ctxt->state;
10662 res = ctxt->states;
10663 ctxt->states = NULL;
10666 states->tabState[k]);
10669 for (k = 0; k < ctxt->states->nbState; k++)
10671 ctxt->states->tabState[k]);
10672 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10673 ctxt->states = NULL;
10680 } else if (ctxt->states != NULL) {
10681 for (k = 0; k < ctxt->states->nbState; k++)
10683 ctxt->states->tabState[k]);
10684 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10685 ctxt->states = NULL;
10691 xmlRelaxNGFreeStates(ctxt, states);
10692 ctxt->states = res;
10695 states->nbState = j;
10696 ctxt->states = states;
10699 ctxt->state = states->tabState[0];
10700 xmlRelaxNGFreeStates(ctxt, states);
10704 xmlRelaxNGFreeStates(ctxt, states);
10705 if (ctxt->states != NULL) {
10706 xmlRelaxNGFreeStates(ctxt, ctxt->states);
10707 ctxt->states = NULL;
10710 if ((ctxt->state != NULL) && (ctxt->states != NULL)) {
10758 } else if (ctxt->states != NULL) {
10762 for (i = 0; i < ctxt->states->nbState; i++) {
10763 state = ctxt->states->tabState[i];
10899 ret->states = NULL;
10919 if (ctxt->states != NULL)
10920 xmlRelaxNGFreeStates(NULL, ctxt->states);