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

Diff of /code/trunk/pcre_dfa_exec.c

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

revision 487 by ph10, Wed Jan 6 10:26:55 2010 UTC revision 498 by ph10, Wed Mar 3 19:29:38 2010 UTC
# Line 118  static const uschar coptable[] = { Line 118  static const uschar coptable[] = {
118    0, 0, 0, 0, 0,                 /* \A, \G, \K, \B, \b                     */    0, 0, 0, 0, 0,                 /* \A, \G, \K, \B, \b                     */
119    0, 0, 0, 0, 0, 0,              /* \D, \d, \S, \s, \W, \w                 */    0, 0, 0, 0, 0, 0,              /* \D, \d, \S, \s, \W, \w                 */
120    0, 0, 0,                       /* Any, AllAny, Anybyte                   */    0, 0, 0,                       /* Any, AllAny, Anybyte                   */
121    0, 0, 0,                       /* NOTPROP, PROP, EXTUNI                  */    0, 0,                          /* \P, \p                                 */
122    0, 0, 0, 0, 0,                 /* \R, \H, \h, \V, \v                     */    0, 0, 0, 0, 0,                 /* \R, \H, \h, \V, \v                     */
123      0,                             /* \X                                     */
124    0, 0, 0, 0, 0,                 /* \Z, \z, Opt, ^, $                      */    0, 0, 0, 0, 0,                 /* \Z, \z, Opt, ^, $                      */
125    1,                             /* Char                                   */    1,                             /* Char                                   */
126    1,                             /* Charnc                                 */    1,                             /* Charnc                                 */
# Line 156  static const uschar coptable[] = { Line 157  static const uschar coptable[] = {
157    0,                             /* Reverse                                */    0,                             /* Reverse                                */
158    0, 0, 0, 0,                    /* ONCE, BRA, CBRA, COND                  */    0, 0, 0, 0,                    /* ONCE, BRA, CBRA, COND                  */
159    0, 0, 0,                       /* SBRA, SCBRA, SCOND                     */    0, 0, 0,                       /* SBRA, SCBRA, SCOND                     */
160    0,                             /* CREF                                   */    0, 0,                          /* CREF, NCREF                            */
161    0,                             /* RREF                                   */    0, 0,                          /* RREF, NRREF                            */
162    0,                             /* DEF                                    */    0,                             /* DEF                                    */
163    0, 0,                          /* BRAZERO, BRAMINZERO                    */    0, 0,                          /* BRAZERO, BRAMINZERO                    */
164    0, 0, 0, 0,                    /* PRUNE, SKIP, THEN, COMMIT              */    0, 0, 0, 0,                    /* PRUNE, SKIP, THEN, COMMIT              */
# Line 174  static const uschar poptable[] = { Line 175  static const uschar poptable[] = {
175    0, 0, 0, 1, 1,                 /* \A, \G, \K, \B, \b                     */    0, 0, 0, 1, 1,                 /* \A, \G, \K, \B, \b                     */
176    1, 1, 1, 1, 1, 1,              /* \D, \d, \S, \s, \W, \w                 */    1, 1, 1, 1, 1, 1,              /* \D, \d, \S, \s, \W, \w                 */
177    1, 1, 1,                       /* Any, AllAny, Anybyte                   */    1, 1, 1,                       /* Any, AllAny, Anybyte                   */
178    1, 1, 1,                       /* NOTPROP, PROP, EXTUNI                  */    1, 1,                          /* \P, \p                                 */
179    1, 1, 1, 1, 1,                 /* \R, \H, \h, \V, \v                     */    1, 1, 1, 1, 1,                 /* \R, \H, \h, \V, \v                     */
180      1,                             /* \X                                     */
181    0, 0, 0, 0, 0,                 /* \Z, \z, Opt, ^, $                      */    0, 0, 0, 0, 0,                 /* \Z, \z, Opt, ^, $                      */
182    1,                             /* Char                                   */    1,                             /* Char                                   */
183    1,                             /* Charnc                                 */    1,                             /* Charnc                                 */
# Line 212  static const uschar poptable[] = { Line 214  static const uschar poptable[] = {
214    0,                             /* Reverse                                */    0,                             /* Reverse                                */
215    0, 0, 0, 0,                    /* ONCE, BRA, CBRA, COND                  */    0, 0, 0, 0,                    /* ONCE, BRA, CBRA, COND                  */
216    0, 0, 0,                       /* SBRA, SCBRA, SCOND                     */    0, 0, 0,                       /* SBRA, SCBRA, SCOND                     */
217    0,                             /* CREF                                   */    0, 0,                          /* CREF, NCREF                            */
218    0,                             /* RREF                                   */    0, 0,                          /* RREF, NRREF                            */
219    0,                             /* DEF                                    */    0,                             /* DEF                                    */
220    0, 0,                          /* BRAZERO, BRAMINZERO                    */    0, 0,                          /* BRAZERO, BRAMINZERO                    */
221    0, 0, 0, 0,                    /* PRUNE, SKIP, THEN, COMMIT              */    0, 0, 0, 0,                    /* PRUNE, SKIP, THEN, COMMIT              */
# Line 706  for (;;) Line 708  for (;;)
708    
709      switch (codevalue)      switch (codevalue)
710        {        {
711    /* ========================================================================== */
712          /* These cases are never obeyed. This is a fudge that causes a compile-
713          time error if the vectors coptable or poptable, which are indexed by
714          opcode, are not the correct length. It seems to be the only way to do
715          such a check at compile time, as the sizeof() operator does not work
716          in the C preprocessor. */
717    
718          case OP_TABLE_LENGTH:
719          case OP_TABLE_LENGTH +
720            ((sizeof(coptable) == OP_TABLE_LENGTH) &&
721             (sizeof(poptable) == OP_TABLE_LENGTH)):
722          break;
723    
724  /* ========================================================================== */  /* ========================================================================== */
725        /* Reached a closing bracket. If not at the end of the pattern, carry        /* Reached a closing bracket. If not at the end of the pattern, carry

Legend:
Removed from v.487  
changed lines
  Added in v.498

  ViewVC Help
Powered by ViewVC 1.1.5