| 1629 | } |
| 1630 | |
| 1631 | txBoolean fxQuantifierParseBrace(txPatternParser* parser, txInteger* min, txInteger* max) |
| 1632 | { |
| 1633 | txInteger offset = parser->offset; |
| 1634 | fxPatternParserNext(parser); |
| 1635 | if (!fxQuantifierParseDigits(parser, min)) |
| 1636 | goto BACKTRACK; |
| 1637 | if (parser->character == ',') { |
| 1638 | fxPatternParserNext(parser); |
| 1639 | if (parser->character == '}') |
| 1640 | *max = 0x7FFFFFFF; |
| 1641 | else if (!fxQuantifierParseDigits(parser, max)) |
| 1642 | goto BACKTRACK; |
| 1643 | } |
| 1644 | else |
| 1645 | *max = *min; |
| 1646 | if (parser->character != '}') |
| 1647 | goto BACKTRACK; |
| 1648 | fxPatternParserNext(parser); |
| 1649 | return 1; |
| 1650 | BACKTRACK: |
| 1651 | parser->character = '{'; |
| 1652 | parser->offset = offset; |
| 1653 | return 0; |
| 1654 | } |
| 1655 | |
| 1656 | txBoolean fxQuantifierParseDigits(txPatternParser* parser, txInteger* result) |
| 1657 | { |
no test coverage detected