the start of a directive, scan through the rest of it in a minimal
loop before popping back out to the main char-at-a-time parser loop
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94153
13f79535-47bb-0310-9956-
ffa450edef68
if (ctx->state == PARSE_DIRECTIVE) {
if (ctx->tag_length == 0) {
if (!apr_isspace(*c)) {
+ const char *tmp = c;
ctx->tag_start_bucket = dptr;
ctx->tag_start_index = c - buf;
- ctx->tag_length = 1;
- ctx->directive_length = 1;
+ do {
+ c++;
+ } while ((c < buf + len) && !apr_isspace(*c) &&
+ *c != *str);
+ ctx->tag_length = ctx->directive_length = c - tmp;
+ continue;
}
}
else {