diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2025-03-16 12:06:04 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2025-03-16 12:06:04 +0100 |
commit | 23c9de60f30041419f3925221d4faff4e7a54717 (patch) | |
tree | 357c045bdafe11674151335bf4f7d65ae179478f /src/regcomp.c | |
parent | 35e13e4c9637f5bf7bef6039c8c813207780a174 (diff) |
New upstream version 6.9.10upstream/6.9.10upstream
Diffstat (limited to 'src/regcomp.c')
-rw-r--r-- | src/regcomp.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/regcomp.c b/src/regcomp.c index 10da9c4..9f2d5aa 100644 --- a/src/regcomp.c +++ b/src/regcomp.c @@ -2,7 +2,7 @@ regcomp.c - Oniguruma (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2023 K.Kosako + * Copyright (c) 2002-2024 K.Kosako * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -5197,12 +5197,18 @@ check_call_reference(CallNode* cn, ParseEnv* env, int state) #ifdef USE_WHOLE_OPTIONS static int -check_whole_options_position(Node* node /* root */) +check_whole_options_position(Node* node /* root */, ParseEnv* env) { int is_list; is_list = FALSE; +#ifdef USE_CALL + if ((env->flags & PE_FLAG_HAS_CALL_ZERO) != 0) { + node = ND_BODY(node); + } +#endif + start: switch (ND_TYPE(node)) { case ND_LIST: @@ -7394,7 +7400,7 @@ static int parse_and_tune(regex_t* reg, const UChar* pattern, #ifdef USE_WHOLE_OPTIONS if ((scan_env->flags & PE_FLAG_HAS_WHOLE_OPTIONS) != 0) { - r = check_whole_options_position(root); + r = check_whole_options_position(root, scan_env); if (r != 0) goto err; } #endif |