r5751 - trunk/varnish-cache/bin/varnishd
phk at varnish-cache.org
phk at varnish-cache.org
Fri Jan 14 16:41:43 CET 2011
Author: phk
Date: 2011-01-14 16:41:43 +0100 (Fri, 14 Jan 2011)
New Revision: 5751
Modified:
trunk/varnish-cache/bin/varnishd/cache_esi_parse.c
Log:
The SKIPATTR2 state is not needed. The ->tag can only contain an
initial substring from one of the attributes we asked for with ->attr,
and those presumably only valid "isxmlname" characters in them.
Modified: trunk/varnish-cache/bin/varnishd/cache_esi_parse.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_esi_parse.c 2011-01-14 14:42:08 UTC (rev 5750)
+++ trunk/varnish-cache/bin/varnishd/cache_esi_parse.c 2011-01-14 15:41:43 UTC (rev 5751)
@@ -125,7 +125,6 @@
static const char * const VEP_ATTR = "[Attribute]";
static const char * const VEP_SKIPATTR = "[SkipAttribute]";
-static const char * const VEP_SKIPATTR2 = "[SkipAttribute2]";
static const char * const VEP_ATTRDELIM = "[AttrDelim]";
static const char * const VEP_ATTRGETVAL = "[AttrGetValue]";
static const char * const VEP_ATTRVAL = "[AttrValue]";
@@ -684,7 +683,7 @@
vep->state = VEP_ATTR;
} else if (p < e) {
vep_error(vep,
- "XML 1.0 Illegal attribute start char");
+ "XML 1.0 Illegal attribute tart char");
vep->state = VEP_TAGERROR;
}
} else if (vep->state == VEP_TAGERROR) {
@@ -711,22 +710,6 @@
vep->state = VEP_MATCH;
}
} else if (vep->state == VEP_SKIPATTR) {
- vep->state = VEP_SKIPATTR2;
- for (i = 0; i < vep->tag_i; i++) {
- if (vct_isxmlname(vep->tag[i]))
- continue;
- if (vep->tag[i] == '=') {
- assert(i + 1 == vep->tag_i);
- vep->state = VEP_ATTRDELIM;
- } else {
- vep_error(vep,
- "XML 1.0 Illegal attr char (_i)");
- vep->state = VEP_TAGERROR;
- }
- }
- xxxassert(i == vep->tag_i);
- vep->tag_i = 0;
- } else if (vep->state == VEP_SKIPATTR2) {
while (p < e && vct_isxmlname(*p))
p++;
if (p < e && *p == '=') {
@@ -1122,7 +1105,6 @@
ATTR [shape=ellipse]
SKIPATTR [shape=ellipse]
-SKIPATTR2 [shape=ellipse]
ATTRGETVAL [shape=ellipse]
ATTRDELIM [shape=ellipse]
ATTRVAL [shape=ellipse]
@@ -1132,11 +1114,7 @@
ATTR -> ATTRGETVAL [label="wanted attr"]
SKIPATTR -> SKIPATTR [label="XMLname"]
SKIPATTR -> ATTRDELIM [label="'='"]
-SKIPATTR -> SKIPATTR2 [label="(when tag exhaused)"]
SKIPATTR -> TAGERRORe [label="*"]
-SKIPATTR2 -> SKIPATTR2 [label="XMLname"]
-SKIPATTR2 -> ATTRDELIM [label="'='"]
-SKIPATTR2 -> TAGERRORe [label="*"]
ATTRGETVAL -> ATTRDELIM
ATTRDELIM -> ATTRVAL [label="\""]
ATTRDELIM -> ATTRVAL [label="\'"]
More information about the varnish-commit
mailing list