------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=733
Dmitry Ukolov <udmitry@???> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |udmitry@???
--- Comment #9 from Dmitry Ukolov <udmitry@???> 2008-07-16 08:42:35 ---
I insert debug output.
by line 2440
............
#ifdef DEBUG
if (lengthptr != NULL) DPRINTF((">> start branch\n"));
#endif
printf("UKOLOV: line 2409 optionsptr=%.8x", optionsptr);
printf("UKOLOV: line 2409 *optionsptr=%.8x", *optionsptr);
/* Set up the default and non-default settings for greediness */
greedy_default = ((options & PCRE_UNGREEDY) != 0);
........
by line 2597:
.......
/* In extended mode, skip white space and comments */
printf("UKOLOV: line 2597 c=%.2x", (int)c);
printf("UKOLOV: line 2597 check options & PCRE_EXTENDED. options=%.8x",
options);
if ((options & PCRE_EXTENDED) != 0)
{
.......
and by line 4904^
.....
/* Set up the changed option bits, but don't change anything yet. */
newoptions = (options | set) & (~unset);
printf("UKOLOV: line 4903 SET newoptions INTO %.8x", newoptions);
/* If the options ended with ')' this is not the start of a nested
group with option changes, so the options change at this level. If this
.....
and on pattern
(?x)1|2
I got this trace:
UKOLOV: line 2409 optionsptr=0012EE50
UKOLOV: line 2409 *optionsptr=00000000
UKOLOV: line 2597 c=28 // '('
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000000
UKOLOV: line 4903 SET newoptions INTO 00000008
UKOLOV: line 2597 c=31 // '1'
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
UKOLOV: line 2597 c=7C // '|'
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
UKOLOV: line 2409 optionsptr=0012EE50
UKOLOV: line 2409 *optionsptr=00000000
UKOLOV: line 2597 c=32 // '2'
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000000
UKOLOV: line 2597 c=00 // ' '
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000000
UKOLOV: line 2409 optionsptr=0012EE54
UKOLOV: line 2409 *optionsptr=00000008
UKOLOV: line 2597 c=28 // '('
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
UKOLOV: line 4903 SET newoptions INTO 00000008
UKOLOV: line 2597 c=31 // '1'
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
UKOLOV: line 2597 c=7C // '|'
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
UKOLOV: line 2409 optionsptr=0012EE54
UKOLOV: line 2409 *optionsptr=00000008
UKOLOV: line 2597 c=32 // '2'
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
UKOLOV: line 2597 c=00 // ' '
UKOLOV: line 2597 check options & PCRE_EXTENDED. options=00000008
on first pattern scan on symbol '2' options=00000000, and procedure does not
interpret # or spaces as comments.
on second pattern scan on symbol '2' options=00000008
Value of optionsptr is defferent on first and second pass.
Any idea?
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email