From: phk Date: Sat, 21 Jun 2008 18:37:48 +0000 (+0000) Subject: Collapse the upper/lower alpha class until we need them separate. X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bdbef4d6fbb8e4541682cf43258d798325d40a27;p=varnish Collapse the upper/lower alpha class until we need them separate. Add "separator" class. git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2756 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/include/vct.h b/varnish-cache/include/vct.h index 6d9a218c..fbd53f8d 100644 --- a/varnish-cache/include/vct.h +++ b/varnish-cache/include/vct.h @@ -35,8 +35,8 @@ #define VCT_CRLF (1<<1) #define VCT_LWS (VCT_CRLF | VCT_SP) #define VCT_CTL (1<<2) -#define VCT_UALPHA (1<<3) -#define VCT_LOALPHA (1<<4) +#define VCT_ALPHA (1<<3) +#define VCT_SEPARATOR (1<<4) #define VCT_DIGIT (1<<5) #define VCT_HEX (1<<6) @@ -53,6 +53,8 @@ vct_is(unsigned char x, unsigned char y) #define vct_iscrlf(x) vct_is(x, VCT_CRLF) #define vct_islws(x) vct_is(x, VCT_LWS) #define vct_isctl(x) vct_is(x, VCT_CTL) +#define vct_isalpha(x) vct_is(x, VCT_ALPHA) +#define vct_issep(x) vct_is(x, VCT_SEPARATOR) /* NB: VCT always operate in ASCII, don't replace 0x0d with \r etc. */ #define vct_skipcrlf(p) (p[0] == 0x0d && p[1] == 0x0a ? 2 : 1) diff --git a/varnish-cache/lib/libvarnish/vct.c b/varnish-cache/lib/libvarnish/vct.c index 5e41e0dd..a838f282 100644 --- a/varnish-cache/lib/libvarnish/vct.c +++ b/varnish-cache/lib/libvarnish/vct.c @@ -34,6 +34,9 @@ /* NB: VCT always operate in ASCII, don't replace 0x0d with \r etc. */ +#define VCT_UPALPHA VCT_ALPHA +#define VCT_LOALPHA VCT_ALPHA + unsigned char vct_typtab[256] = { [0x00] = VCT_CTL, [0x01] = VCT_CTL, @@ -44,7 +47,7 @@ unsigned char vct_typtab[256] = { [0x06] = VCT_CTL, [0x07] = VCT_CTL, [0x08] = VCT_CTL, - [0x09] = VCT_CTL | VCT_SP, + [0x09] = VCT_CTL | VCT_SP | VCT_SEPARATOR, [0x0a] = VCT_CTL | VCT_CRLF, [0x0b] = VCT_CTL, [0x0c] = VCT_CTL, @@ -67,7 +70,12 @@ unsigned char vct_typtab[256] = { [0x1d] = VCT_CTL, [0x1e] = VCT_CTL, [0x1f] = VCT_CTL, - [0x20] = VCT_SP, + [0x20] = VCT_SP | VCT_SEPARATOR, + [0x22] = VCT_SEPARATOR, + [0x28] = VCT_SEPARATOR, + [0x29] = VCT_SEPARATOR, + [0x2c] = VCT_SEPARATOR, + [0x2f] = VCT_SEPARATOR, [0x30] = VCT_DIGIT | VCT_HEX, [0x31] = VCT_DIGIT | VCT_HEX, [0x32] = VCT_DIGIT | VCT_HEX, @@ -78,32 +86,42 @@ unsigned char vct_typtab[256] = { [0x37] = VCT_DIGIT | VCT_HEX, [0x38] = VCT_DIGIT | VCT_HEX, [0x39] = VCT_DIGIT | VCT_HEX, - [0x41] = VCT_UALPHA | VCT_HEX, - [0x42] = VCT_UALPHA | VCT_HEX, - [0x43] = VCT_UALPHA | VCT_HEX, - [0x44] = VCT_UALPHA | VCT_HEX, - [0x45] = VCT_UALPHA | VCT_HEX, - [0x46] = VCT_UALPHA | VCT_HEX, - [0x47] = VCT_UALPHA, - [0x48] = VCT_UALPHA, - [0x49] = VCT_UALPHA, - [0x4a] = VCT_UALPHA, - [0x4b] = VCT_UALPHA, - [0x4c] = VCT_UALPHA, - [0x4d] = VCT_UALPHA, - [0x4e] = VCT_UALPHA, - [0x4f] = VCT_UALPHA, - [0x50] = VCT_UALPHA, - [0x51] = VCT_UALPHA, - [0x52] = VCT_UALPHA, - [0x53] = VCT_UALPHA, - [0x54] = VCT_UALPHA, - [0x55] = VCT_UALPHA, - [0x56] = VCT_UALPHA, - [0x57] = VCT_UALPHA, - [0x58] = VCT_UALPHA, - [0x59] = VCT_UALPHA, - [0x5a] = VCT_UALPHA, + [0x3a] = VCT_SEPARATOR, + [0x3b] = VCT_SEPARATOR, + [0x3c] = VCT_SEPARATOR, + [0x3d] = VCT_SEPARATOR, + [0x3e] = VCT_SEPARATOR, + [0x3f] = VCT_SEPARATOR, + [0x40] = VCT_SEPARATOR, + [0x41] = VCT_UPALPHA | VCT_HEX, + [0x42] = VCT_UPALPHA | VCT_HEX, + [0x43] = VCT_UPALPHA | VCT_HEX, + [0x44] = VCT_UPALPHA | VCT_HEX, + [0x45] = VCT_UPALPHA | VCT_HEX, + [0x46] = VCT_UPALPHA | VCT_HEX, + [0x47] = VCT_UPALPHA, + [0x48] = VCT_UPALPHA, + [0x49] = VCT_UPALPHA, + [0x4a] = VCT_UPALPHA, + [0x4b] = VCT_UPALPHA, + [0x4c] = VCT_UPALPHA, + [0x4d] = VCT_UPALPHA, + [0x4e] = VCT_UPALPHA, + [0x4f] = VCT_UPALPHA, + [0x50] = VCT_UPALPHA, + [0x51] = VCT_UPALPHA, + [0x52] = VCT_UPALPHA, + [0x53] = VCT_UPALPHA, + [0x54] = VCT_UPALPHA, + [0x55] = VCT_UPALPHA, + [0x56] = VCT_UPALPHA, + [0x57] = VCT_UPALPHA, + [0x58] = VCT_UPALPHA, + [0x59] = VCT_UPALPHA, + [0x5a] = VCT_UPALPHA, + [0x5b] = VCT_SEPARATOR, + [0x5c] = VCT_SEPARATOR, + [0x5d] = VCT_SEPARATOR, [0x61] = VCT_LOALPHA | VCT_HEX, [0x62] = VCT_LOALPHA | VCT_HEX, [0x63] = VCT_LOALPHA | VCT_HEX, @@ -130,5 +148,7 @@ unsigned char vct_typtab[256] = { [0x78] = VCT_LOALPHA, [0x79] = VCT_LOALPHA, [0x7a] = VCT_LOALPHA, + [0x7b] = VCT_SEPARATOR, + [0x7d] = VCT_SEPARATOR, [0x7f] = VCT_CTL, };