/[pcre]/code/trunk/study.c
ViewVC logotype

Diff of /code/trunk/study.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 25 by nigel, Sat Feb 24 21:38:45 2007 UTC revision 27 by nigel, Sat Feb 24 21:38:49 2007 UTC
# Line 9  the file Tech.Notes for some information Line 9  the file Tech.Notes for some information
9    
10  Written by: Philip Hazel <ph10@cam.ac.uk>  Written by: Philip Hazel <ph10@cam.ac.uk>
11    
12             Copyright (c) 1998 University of Cambridge             Copyright (c) 1997-1999 University of Cambridge
13    
14  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------
15  Permission is granted to anyone to use this software for any purpose on any  Permission is granted to anyone to use this software for any purpose on any
# Line 85  set_start_bits(const uschar *code, uscha Line 85  set_start_bits(const uschar *code, uscha
85  {  {
86  register int c;  register int c;
87    
88    /* This next statement and the later reference to dummy are here in order to
89    trick the optimizer of the IBM C compiler for OS/2 into generating correct
90    code. Apparently IBM isn't going to fix the problem, and we would rather not
91    disable optimization (in this module it actually makes a big difference, and
92    the pcre module can use all the optimization it can get). */
93    
94    volatile int dummy;
95    
96  do  do
97    {    {
98    const uschar *tcode = code + 3;    const uschar *tcode = code + 3;
# Line 132  do Line 140  do
140        case OP_BRAMINZERO:        case OP_BRAMINZERO:
141        if (!set_start_bits(++tcode, start_bits, caseless, cd))        if (!set_start_bits(++tcode, start_bits, caseless, cd))
142          return FALSE;          return FALSE;
143          dummy = 1;
144        do tcode += (tcode[1] << 8) + tcode[2]; while (*tcode == OP_ALT);        do tcode += (tcode[1] << 8) + tcode[2]; while (*tcode == OP_ALT);
145        tcode += 3;        tcode += 3;
146        try_next = TRUE;        try_next = TRUE;

Legend:
Removed from v.25  
changed lines
  Added in v.27

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12