diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/regex.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/regex.c b/src/regex.c index 7e70c494f47..8aa54331fc7 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -1320,23 +1320,20 @@ typedef struct | |||
| 1320 | #define FAIL_STACK_GROWTH_FACTOR 4 | 1320 | #define FAIL_STACK_GROWTH_FACTOR 4 |
| 1321 | 1321 | ||
| 1322 | #define GROW_FAIL_STACK(fail_stack) \ | 1322 | #define GROW_FAIL_STACK(fail_stack) \ |
| 1323 | (((fail_stack).size * sizeof (fail_stack_elt_t) \ | 1323 | (((fail_stack).size >= re_max_failures * TYPICAL_FAILURE_SIZE) \ |
| 1324 | >= re_max_failures * TYPICAL_FAILURE_SIZE) \ | ||
| 1325 | ? 0 \ | 1324 | ? 0 \ |
| 1326 | : ((fail_stack).stack \ | 1325 | : ((fail_stack).stack \ |
| 1327 | = REGEX_REALLOCATE_STACK ((fail_stack).stack, \ | 1326 | = REGEX_REALLOCATE_STACK ((fail_stack).stack, \ |
| 1328 | (fail_stack).size * sizeof (fail_stack_elt_t), \ | 1327 | (fail_stack).size * sizeof (fail_stack_elt_t), \ |
| 1329 | min (re_max_failures * TYPICAL_FAILURE_SIZE, \ | 1328 | min (re_max_failures * TYPICAL_FAILURE_SIZE, \ |
| 1330 | ((fail_stack).size * sizeof (fail_stack_elt_t) \ | 1329 | ((fail_stack).size * FAIL_STACK_GROWTH_FACTOR)) \ |
| 1331 | * FAIL_STACK_GROWTH_FACTOR))), \ | 1330 | * sizeof (fail_stack_elt_t)), \ |
| 1332 | \ | 1331 | \ |
| 1333 | (fail_stack).stack == NULL \ | 1332 | (fail_stack).stack == NULL \ |
| 1334 | ? 0 \ | 1333 | ? 0 \ |
| 1335 | : ((fail_stack).size \ | 1334 | : ((fail_stack).size \ |
| 1336 | = (min (re_max_failures * TYPICAL_FAILURE_SIZE, \ | 1335 | = (min (re_max_failures * TYPICAL_FAILURE_SIZE, \ |
| 1337 | ((fail_stack).size * sizeof (fail_stack_elt_t) \ | 1336 | ((fail_stack).size * FAIL_STACK_GROWTH_FACTOR))), \ |
| 1338 | * FAIL_STACK_GROWTH_FACTOR)) \ | ||
| 1339 | / sizeof (fail_stack_elt_t)), \ | ||
| 1340 | 1))) | 1337 | 1))) |
| 1341 | 1338 | ||
| 1342 | 1339 | ||