diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2025-03-16 12:06:26 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2025-03-16 12:06:26 +0100 |
commit | 048f2aabecc8adf1fcc76ecf0dcad9ef07c0ae98 (patch) | |
tree | 6e32c4075b0bef0cfa7a9c3ece4294db7a10c046 /src/regcomp.c | |
parent | b0e9d5f1322c403a2ba1df7f86e27d2514f576da (diff) | |
parent | e6ce8c11c114a794f5523eaaec52688716873b72 (diff) |
Merge branch 'feature/upstream' into develop
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 |