| unsigned char flag; | unsigned char flag; | ||||
| unsigned int dictionary_flags; | unsigned int dictionary_flags; | ||||
| unsigned int dictionary_flags2; | unsigned int dictionary_flags2; | ||||
| int condition_failed = 0; | |||||
| bool condition_failed = false; | |||||
| int n_chars; | int n_chars; | ||||
| int no_phonemes; | int no_phonemes; | ||||
| int skipwords; | int skipwords; | ||||
| if (flag >= 132) { | if (flag >= 132) { | ||||
| // fail if this condition is set | // fail if this condition is set | ||||
| if ((tr->dict_condition & (1 << (flag-132))) != 0) | if ((tr->dict_condition & (1 << (flag-132))) != 0) | ||||
| condition_failed = 1; | |||||
| condition_failed = true; | |||||
| } else { | } else { | ||||
| // allow only if this condition is set | // allow only if this condition is set | ||||
| if ((tr->dict_condition & (1 << (flag-100))) == 0) | if ((tr->dict_condition & (1 << (flag-100))) == 0) | ||||
| condition_failed = 1; | |||||
| condition_failed = true; | |||||
| } | } | ||||
| } else if (flag > 80) { | } else if (flag > 80) { | ||||
| // flags 81 to 90 match more than one word | // flags 81 to 90 match more than one word | ||||
| if (wtab != NULL) { | if (wtab != NULL) { | ||||
| for (ix = 0; ix <= skipwords && wtab[ix].length; ix++) { | for (ix = 0; ix <= skipwords && wtab[ix].length; ix++) { | ||||
| if (wtab[ix].flags & FLAG_EMPHASIZED2) | if (wtab[ix].flags & FLAG_EMPHASIZED2) | ||||
| condition_failed = 1; | |||||
| condition_failed = true; | |||||
| } | } | ||||
| } | } | ||||
| if (strncmp(word2, p, n_chars) != 0) | if (strncmp(word2, p, n_chars) != 0) | ||||
| condition_failed = 1; | |||||
| condition_failed = true; | |||||
| if (condition_failed) { | if (condition_failed) { | ||||
| p = next; | p = next; | ||||
| } | } | ||||
| if (condition_failed) { | if (condition_failed) { | ||||
| condition_failed = 0; | |||||
| condition_failed = false; | |||||
| continue; | continue; | ||||
| } | } | ||||