summaryrefslogtreecommitdiff
path: root/pcre_dfa_exec.c
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-09-16 10:16:27 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-09-16 10:16:27 +0000
commitd872d02782918d475a697b75912145f2434f55f5 (patch)
tree17ab0d95e5b5158918d60e7fa03f0a9d2dd44c5f /pcre_dfa_exec.c
parent342b3a29bc27827b8405523ec35745f12624ecaa (diff)
downloadpcre-d872d02782918d475a697b75912145f2434f55f5.tar.gz
Turn case lists for horizontal and vertical white space into macros so they are
defined only once. git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1041 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_dfa_exec.c')
-rw-r--r--pcre_dfa_exec.c166
1 files changed, 15 insertions, 151 deletions
diff --git a/pcre_dfa_exec.c b/pcre_dfa_exec.c
index ad0be6c..d772384 100644
--- a/pcre_dfa_exec.c
+++ b/pcre_dfa_exec.c
@@ -1448,15 +1448,7 @@ for (;;)
BOOL OK;
switch (c)
{
- case CHAR_LF:
- case CHAR_VT:
- case CHAR_FF:
- case CHAR_CR:
- case CHAR_NEL:
-#ifndef EBCDIC
- case 0x2028:
- case 0x2029:
-#endif /* Not EBCDIC */
+ VSPACE_CASES:
OK = TRUE;
break;
@@ -1489,27 +1481,7 @@ for (;;)
BOOL OK;
switch (c)
{
- case CHAR_HT:
- case CHAR_SPACE:
-#ifndef EBCDIC
- case 0xa0: /* NBSP */
- case 0x1680: /* OGHAM SPACE MARK */
- case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */
- case 0x2000: /* EN QUAD */
- case 0x2001: /* EM QUAD */
- case 0x2002: /* EN SPACE */
- case 0x2003: /* EM SPACE */
- case 0x2004: /* THREE-PER-EM SPACE */
- case 0x2005: /* FOUR-PER-EM SPACE */
- case 0x2006: /* SIX-PER-EM SPACE */
- case 0x2007: /* FIGURE SPACE */
- case 0x2008: /* PUNCTUATION SPACE */
- case 0x2009: /* THIN SPACE */
- case 0x200A: /* HAIR SPACE */
- case 0x202f: /* NARROW NO-BREAK SPACE */
- case 0x205f: /* MEDIUM MATHEMATICAL SPACE */
- case 0x3000: /* IDEOGRAPHIC SPACE */
-#endif /* Not EBCDIC */
+ HSPACE_CASES:
OK = TRUE;
break;
@@ -1729,15 +1701,7 @@ for (;;)
BOOL OK;
switch (c)
{
- case CHAR_LF:
- case CHAR_VT:
- case CHAR_FF:
- case CHAR_CR:
- case CHAR_NEL:
-#ifndef EBCDIC
- case 0x2028:
- case 0x2029:
-#endif /* Not EBCDIC */
+ VSPACE_CASES:
OK = TRUE;
break;
@@ -1777,27 +1741,7 @@ for (;;)
BOOL OK;
switch (c)
{
- case CHAR_HT:
- case CHAR_SPACE:
-#ifndef EBCDIC
- case 0xa0: /* NBSP */
- case 0x1680: /* OGHAM SPACE MARK */
- case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */
- case 0x2000: /* EN QUAD */
- case 0x2001: /* EM QUAD */
- case 0x2002: /* EN SPACE */
- case 0x2003: /* EM SPACE */
- case 0x2004: /* THREE-PER-EM SPACE */
- case 0x2005: /* FOUR-PER-EM SPACE */
- case 0x2006: /* SIX-PER-EM SPACE */
- case 0x2007: /* FIGURE SPACE */
- case 0x2008: /* PUNCTUATION SPACE */
- case 0x2009: /* THIN SPACE */
- case 0x200A: /* HAIR SPACE */
- case 0x202f: /* NARROW NO-BREAK SPACE */
- case 0x205f: /* MEDIUM MATHEMATICAL SPACE */
- case 0x3000: /* IDEOGRAPHIC SPACE */
-#endif /* Not EBCDIC */
+ HSPACE_CASES:
OK = TRUE;
break;
@@ -1999,15 +1943,7 @@ for (;;)
BOOL OK;
switch (c)
{
- case CHAR_LF:
- case CHAR_VT:
- case CHAR_FF:
- case CHAR_CR:
- case CHAR_NEL:
-#ifndef EBCDIC
- case 0x2028:
- case 0x2029:
-#endif /* Not EBCDIC */
+ VSPACE_CASES:
OK = TRUE;
break;
@@ -2043,27 +1979,7 @@ for (;;)
BOOL OK;
switch (c)
{
- case CHAR_HT:
- case CHAR_SPACE:
-#ifndef EBCDIC
- case 0xa0: /* NBSP */
- case 0x1680: /* OGHAM SPACE MARK */
- case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */
- case 0x2000: /* EN QUAD */
- case 0x2001: /* EM QUAD */
- case 0x2002: /* EN SPACE */
- case 0x2003: /* EM SPACE */
- case 0x2004: /* THREE-PER-EM SPACE */
- case 0x2005: /* FOUR-PER-EM SPACE */
- case 0x2006: /* SIX-PER-EM SPACE */
- case 0x2007: /* FIGURE SPACE */
- case 0x2008: /* PUNCTUATION SPACE */
- case 0x2009: /* THIN SPACE */
- case 0x200A: /* HAIR SPACE */
- case 0x202f: /* NARROW NO-BREAK SPACE */
- case 0x205f: /* MEDIUM MATHEMATICAL SPACE */
- case 0x3000: /* IDEOGRAPHIC SPACE */
-#endif /* Not EBCDIC */
+ HSPACE_CASES:
OK = TRUE;
break;
@@ -2206,15 +2122,7 @@ for (;;)
case OP_NOT_VSPACE:
if (clen > 0) switch(c)
{
- case CHAR_LF:
- case CHAR_VT:
- case CHAR_FF:
- case CHAR_CR:
- case CHAR_NEL:
-#ifndef EBCDIC
- case 0x2028:
- case 0x2029:
-#endif /* Not EBCDIC */
+ VSPACE_CASES:
break;
default:
@@ -2227,19 +2135,12 @@ for (;;)
case OP_VSPACE:
if (clen > 0) switch(c)
{
- case CHAR_LF:
- case CHAR_VT:
- case CHAR_FF:
- case CHAR_CR:
- case CHAR_NEL:
-#ifndef EBCDIC
- case 0x2028:
- case 0x2029:
-#endif /* Not EBCDIC */
+ VSPACE_CASES:
ADD_NEW(state_offset + 1, 0);
break;
- default: break;
+ default:
+ break;
}
break;
@@ -2247,27 +2148,7 @@ for (;;)
case OP_NOT_HSPACE:
if (clen > 0) switch(c)
{
- case CHAR_HT:
- case CHAR_SPACE:
-#ifndef EBCDIC
- case 0xa0: /* NBSP */
- case 0x1680: /* OGHAM SPACE MARK */
- case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */
- case 0x2000: /* EN QUAD */
- case 0x2001: /* EM QUAD */
- case 0x2002: /* EN SPACE */
- case 0x2003: /* EM SPACE */
- case 0x2004: /* THREE-PER-EM SPACE */
- case 0x2005: /* FOUR-PER-EM SPACE */
- case 0x2006: /* SIX-PER-EM SPACE */
- case 0x2007: /* FIGURE SPACE */
- case 0x2008: /* PUNCTUATION SPACE */
- case 0x2009: /* THIN SPACE */
- case 0x200A: /* HAIR SPACE */
- case 0x202f: /* NARROW NO-BREAK SPACE */
- case 0x205f: /* MEDIUM MATHEMATICAL SPACE */
- case 0x3000: /* IDEOGRAPHIC SPACE */
-#endif /* Not EBCDIC */
+ HSPACE_CASES:
break;
default:
@@ -2280,29 +2161,12 @@ for (;;)
case OP_HSPACE:
if (clen > 0) switch(c)
{
- case CHAR_HT:
- case CHAR_SPACE:
-#ifndef EBCDIC
- case 0xa0: /* NBSP */
- case 0x1680: /* OGHAM SPACE MARK */
- case 0x180e: /* MONGOLIAN VOWEL SEPARATOR */
- case 0x2000: /* EN QUAD */
- case 0x2001: /* EM QUAD */
- case 0x2002: /* EN SPACE */
- case 0x2003: /* EM SPACE */
- case 0x2004: /* THREE-PER-EM SPACE */
- case 0x2005: /* FOUR-PER-EM SPACE */
- case 0x2006: /* SIX-PER-EM SPACE */
- case 0x2007: /* FIGURE SPACE */
- case 0x2008: /* PUNCTUATION SPACE */
- case 0x2009: /* THIN SPACE */
- case 0x200A: /* HAIR SPACE */
- case 0x202f: /* NARROW NO-BREAK SPACE */
- case 0x205f: /* MEDIUM MATHEMATICAL SPACE */
- case 0x3000: /* IDEOGRAPHIC SPACE */
-#endif /* Not EBCDIC */
+ HSPACE_CASES:
ADD_NEW(state_offset + 1, 0);
break;
+
+ default:
+ break;
}
break;