| 1488 | } |
| 1489 | |
| 1490 | txCaptureName* fxCaptureNamePut(txPatternParser* parser, txString string) |
| 1491 | { |
| 1492 | txInteger length = (txInteger)c_strlen(string); |
| 1493 | txCaptureName** address = &(parser->firstCaptureName); |
| 1494 | txCaptureName* name; |
| 1495 | while ((name = *address)) { |
| 1496 | if (!c_strcmp(name->string, string)) |
| 1497 | return name; |
| 1498 | address = &(name->nextCaptureName); |
| 1499 | } |
| 1500 | *address = name = fxPatternParserCreateChunk(parser, sizeof(txCaptureName) + length); |
| 1501 | name->nextCaptureName = C_NULL; |
| 1502 | name->index = parser->nameIndex; |
| 1503 | c_memcpy(name->string, string, length + 1); |
| 1504 | parser->nameIndex++; |
| 1505 | return name; |
| 1506 | } |
| 1507 | |
| 1508 | void* fxDisjunctionParse(txPatternParser* parser, txInteger character) |
| 1509 | { |
no test coverage detected