summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2007-06-06 00:00:28 +0000
committerIlia Alshanetsky <iliaa@php.net>2007-06-06 00:00:28 +0000
commitc38ad55e8e3c6fe3fc858bf4d10e768f68bdbd5b (patch)
tree02d9b0b7049a71b469710998c0bce6cd53b21f80 /ext
parentc084d1c829da3fb2489984e858b146f2338fa3ab (diff)
downloadphp-git-c38ad55e8e3c6fe3fc858bf4d10e768f68bdbd5b.tar.gz
Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags).
Diffstat (limited to 'ext')
-rw-r--r--ext/session/tests/bug41600.phpt26
-rw-r--r--ext/standard/url_scanner_ex.c1187
-rw-r--r--ext/standard/url_scanner_ex.re3
3 files changed, 609 insertions, 607 deletions
diff --git a/ext/session/tests/bug41600.phpt b/ext/session/tests/bug41600.phpt
new file mode 100644
index 0000000000..ba04fd9d99
--- /dev/null
+++ b/ext/session/tests/bug41600.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #41600 (url rewriter tags doesn't work with namespaced tags)
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--INI--
+session.use_cookies=0
+session.cache_limiter=
+session.use_trans_sid=1
+arg_separator.output=&amp;
+session.name=PHPSESSID
+session.serialize_handler=php
+session.save_handler=files
+--FILE--
+<?php
+
+error_reporting(E_ALL);
+
+session_id("abtest");
+session_start();
+?>
+<a href="link.php?a=b">
+<?php
+session_destroy();
+?>
+--EXPECT--
+<a href="link.php?a=b&amp;PHPSESSID=abtest">
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c
index 139ca946a5..16f2fd211d 100644
--- a/ext/standard/url_scanner_ex.c
+++ b/ext/standard/url_scanner_ex.c
@@ -1,10 +1,10 @@
-/* Generated by re2c 0.9.11 on Tue Feb 28 09:38:22 2006 */
-#line 1 "ext/standard/url_scanner_ex.re"
+/* Generated by re2c 0.11.0 on Tue Jun 5 19:51:02 2007 */
+#line 1 "url_scanner_ex.re"
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2007 The PHP Group |
+ | Copyright (c) 1997-2006 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -91,7 +91,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("url_rewriter.tags", "a=href,area=href,frame=src,form=,fieldset=", PHP_INI_ALL, OnUpdateTags, url_adapt_state_ex, php_basic_globals, basic_globals)
PHP_INI_END()
-#line 97 "ext/standard/url_scanner_ex.re"
+#line 98 "url_scanner_ex.re"
#define YYFILL(n) goto done
@@ -109,53 +109,80 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st
q = (p = url->c) + url->len;
scan:
-
-#line 114 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- goto yy0;
- ++YYCURSOR;
-yy0:
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch(yych){
- case '#': goto yy6;
- case ':': goto yy2;
- case '?': goto yy4;
- default: goto yy8;
- }
-yy2: ++YYCURSOR;
- goto yy3;
-yy3:
-#line 115 "ext/standard/url_scanner_ex.re"
-{ smart_str_append(dest, url); return; }
-#line 133 "ext/standard/url_scanner_ex.c"
-yy4: ++YYCURSOR;
- goto yy5;
-yy5:
-#line 116 "ext/standard/url_scanner_ex.re"
-{ sep = separator; goto scan; }
-#line 139 "ext/standard/url_scanner_ex.c"
-yy6: ++YYCURSOR;
- goto yy7;
-yy7:
-#line 117 "ext/standard/url_scanner_ex.re"
-{ bash = p - 1; goto done; }
-#line 145 "ext/standard/url_scanner_ex.c"
-yy8: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy9;
-yy9: switch(yych){
- case '#': case ':': case '?': goto yy10;
- default: goto yy8;
+ static unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 128, 128, 128, 128, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+
+#line 149 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy8;
+ }
+ if(yych <= '9') goto yy6;
+ if(yych >= ';') goto yy4;
+ ++YYCURSOR;
+#line 116 "url_scanner_ex.re"
+ { smart_str_append(dest, url); return; }
+#line 163 "url_scanner_ex.c"
+yy4:
+ ++YYCURSOR;
+#line 117 "url_scanner_ex.re"
+ { sep = separator; goto scan; }
+#line 168 "url_scanner_ex.c"
+yy6:
+ ++YYCURSOR;
+#line 118 "url_scanner_ex.re"
+ { bash = p - 1; goto done; }
+#line 173 "url_scanner_ex.c"
+yy8:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy8;
+ }
+#line 119 "url_scanner_ex.re"
+ { goto scan; }
+#line 183 "url_scanner_ex.c"
}
-yy10:
-#line 118 "ext/standard/url_scanner_ex.re"
-{ goto scan; }
-#line 157 "ext/standard/url_scanner_ex.c"
}
-#line 119 "ext/standard/url_scanner_ex.re"
+#line 120 "url_scanner_ex.re"
done:
@@ -323,179 +350,144 @@ state_plain_begin:
state_plain:
start = YYCURSOR;
-
-#line 328 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- goto yy11;
- ++YYCURSOR;
-yy11:
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch(yych){
- case '<': goto yy13;
- default: goto yy15;
- }
-yy13: ++YYCURSOR;
- goto yy14;
-yy14:
-#line 287 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
-#line 345 "ext/standard/url_scanner_ex.c"
-yy15: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy16;
-yy16: switch(yych){
- case '<': goto yy17;
- default: goto yy15;
+ static unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 0, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+
+#line 390 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy15;
+ }
+ ++YYCURSOR;
+#line 288 "url_scanner_ex.re"
+ { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
+#line 401 "url_scanner_ex.c"
+yy15:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy15;
+ }
+#line 289 "url_scanner_ex.re"
+ { passthru(STD_ARGS); goto state_plain; }
+#line 411 "url_scanner_ex.c"
}
-yy17:
-#line 288 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); goto state_plain; }
-#line 357 "ext/standard/url_scanner_ex.c"
}
-#line 289 "ext/standard/url_scanner_ex.re"
+#line 290 "url_scanner_ex.re"
state_tag:
start = YYCURSOR;
-
-#line 365 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- goto yy18;
- ++YYCURSOR;
-yy18:
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- switch(yych){
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z': case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy20;
- default: goto yy22;
- }
-yy20: ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy25;
+ static unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 128, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+#line 455 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '@') {
+ if(yych != ':') goto yy22;
+ } else {
+ if(yych <= 'Z') goto yy20;
+ if(yych <= '`') goto yy22;
+ if(yych >= '{') goto yy22;
+ }
+yy20:
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy25;
yy21:
-#line 294 "ext/standard/url_scanner_ex.re"
-{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
-#line 433 "ext/standard/url_scanner_ex.c"
-yy22: ++YYCURSOR;
- goto yy23;
-yy23:
-#line 295 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); goto state_plain_begin; }
-#line 439 "ext/standard/url_scanner_ex.c"
-yy24: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy25;
-yy25: switch(yych){
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z': case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy24;
- default: goto yy21;
+#line 295 "url_scanner_ex.re"
+ { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
+#line 474 "url_scanner_ex.c"
+yy22:
+ ++YYCURSOR;
+#line 296 "url_scanner_ex.re"
+ { passthru(STD_ARGS); goto state_plain_begin; }
+#line 479 "url_scanner_ex.c"
+yy24:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy25:
+ if(yybm[0+yych] & 128) {
+ goto yy24;
+ }
+ goto yy21;
}
}
-#line 296 "ext/standard/url_scanner_ex.re"
+#line 297 "url_scanner_ex.re"
state_next_arg_begin:
@@ -503,434 +495,417 @@ state_next_arg_begin:
state_next_arg:
start = YYCURSOR;
-
-#line 508 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- goto yy26;
- ++YYCURSOR;
-yy26:
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- switch(yych){
- case 0x09:
- case 0x0A:
- case 0x0B: case 0x0D: case ' ': goto yy30;
- case '>': goto yy28;
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z': case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy32;
- default: goto yy34;
- }
-yy28: ++YYCURSOR;
- goto yy29;
-yy29:
-#line 304 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
-#line 579 "ext/standard/url_scanner_ex.c"
-yy30: ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy37;
+ static unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+#line 535 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= ' ') {
+ if(yych <= 0x0C) {
+ if(yych <= 0x08) goto yy34;
+ if(yych <= 0x0B) goto yy30;
+ goto yy34;
+ } else {
+ if(yych <= 0x0D) goto yy30;
+ if(yych <= 0x1F) goto yy34;
+ goto yy30;
+ }
+ } else {
+ if(yych <= '@') {
+ if(yych != '>') goto yy34;
+ } else {
+ if(yych <= 'Z') goto yy32;
+ if(yych <= '`') goto yy34;
+ if(yych <= 'z') goto yy32;
+ goto yy34;
+ }
+ }
+ ++YYCURSOR;
+#line 305 "url_scanner_ex.re"
+ { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
+#line 563 "url_scanner_ex.c"
+yy30:
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy37;
yy31:
-#line 305 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); goto state_next_arg; }
-#line 586 "ext/standard/url_scanner_ex.c"
-yy32: ++YYCURSOR;
- goto yy33;
-yy33:
-#line 306 "ext/standard/url_scanner_ex.re"
-{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
-#line 592 "ext/standard/url_scanner_ex.c"
-yy34: ++YYCURSOR;
- goto yy35;
-yy35:
-#line 307 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); goto state_plain_begin; }
-#line 598 "ext/standard/url_scanner_ex.c"
-yy36: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy37;
-yy37: switch(yych){
- case 0x09:
- case 0x0A:
- case 0x0B: case 0x0D: case ' ': goto yy36;
- default: goto yy31;
+#line 306 "url_scanner_ex.re"
+ { passthru(STD_ARGS); goto state_next_arg; }
+#line 571 "url_scanner_ex.c"
+yy32:
+ ++YYCURSOR;
+#line 307 "url_scanner_ex.re"
+ { --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
+#line 576 "url_scanner_ex.c"
+yy34:
+ ++YYCURSOR;
+#line 308 "url_scanner_ex.re"
+ { passthru(STD_ARGS); goto state_plain_begin; }
+#line 581 "url_scanner_ex.c"
+yy36:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy37:
+ if(yybm[0+yych] & 128) {
+ goto yy36;
+ }
+ goto yy31;
}
}
-#line 308 "ext/standard/url_scanner_ex.re"
+#line 309 "url_scanner_ex.re"
state_arg:
start = YYCURSOR;
-
-#line 616 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- goto yy38;
- ++YYCURSOR;
-yy38:
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- switch(yych){
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z': case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy40;
- default: goto yy42;
- }
-yy40: ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy45;
+ static unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+#line 634 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '@') goto yy42;
+ if(yych <= 'Z') goto yy40;
+ if(yych <= '`') goto yy42;
+ if(yych >= '{') goto yy42;
+yy40:
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy45;
yy41:
-#line 313 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; }
-#line 684 "ext/standard/url_scanner_ex.c"
-yy42: ++YYCURSOR;
- goto yy43;
-yy43:
-#line 314 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
-#line 690 "ext/standard/url_scanner_ex.c"
-yy44: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy45;
-yy45: switch(yych){
- case '-': case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z': case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy44;
- default: goto yy41;
+#line 314 "url_scanner_ex.re"
+ { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; }
+#line 650 "url_scanner_ex.c"
+yy42:
+ ++YYCURSOR;
+#line 315 "url_scanner_ex.re"
+ { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
+#line 655 "url_scanner_ex.c"
+yy44:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy45:
+ if(yybm[0+yych] & 128) {
+ goto yy44;
+ }
+ goto yy41;
}
}
-#line 315 "ext/standard/url_scanner_ex.re"
+#line 316 "url_scanner_ex.re"
state_before_val:
start = YYCURSOR;
-
-#line 756 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- goto yy46;
- ++YYCURSOR;
-yy46:
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- switch(yych){
- case ' ': goto yy48;
- case '=': goto yy50;
- default: goto yy52;
- }
-yy48: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- switch(yych){
- case ' ': goto yy55;
- case '=': goto yy53;
- default: goto yy49;
- }
+ static unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+#line 708 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych == ' ') goto yy48;
+ if(yych == '=') goto yy50;
+ goto yy52;
+yy48:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ' ') goto yy55;
+ if(yych == '=') goto yy53;
yy49:
-#line 321 "ext/standard/url_scanner_ex.re"
-{ --YYCURSOR; goto state_next_arg_begin; }
-#line 780 "ext/standard/url_scanner_ex.c"
-yy50: ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy54;
+#line 322 "url_scanner_ex.re"
+ { --YYCURSOR; goto state_next_arg_begin; }
+#line 723 "url_scanner_ex.c"
+yy50:
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy54;
yy51:
-#line 320 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
-#line 787 "ext/standard/url_scanner_ex.c"
-yy52: yych = *++YYCURSOR;
- goto yy49;
-yy53: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy54;
-yy54: switch(yych){
- case ' ': goto yy53;
- default: goto yy51;
- }
-yy55: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy56;
-yy56: switch(yych){
- case ' ': goto yy55;
- case '=': goto yy53;
- default: goto yy57;
- }
-yy57: YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy49;
+#line 321 "url_scanner_ex.re"
+ { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
+#line 731 "url_scanner_ex.c"
+yy52:
+ yych = *++YYCURSOR;
+ goto yy49;
+yy53:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy54:
+ if(yybm[0+yych] & 128) {
+ goto yy53;
+ }
+ goto yy51;
+yy55:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yych == ' ') goto yy55;
+ if(yych == '=') goto yy53;
+ YYCURSOR = YYMARKER;
+ goto yy49;
}
}
-#line 322 "ext/standard/url_scanner_ex.re"
+#line 323 "url_scanner_ex.re"
state_val:
start = YYCURSOR;
-
-#line 819 "ext/standard/url_scanner_ex.c"
{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- goto yy58;
- ++YYCURSOR;
-yy58:
- if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
- switch(yych){
- case 0x09:
- case 0x0A: case 0x0D: case ' ': case '>': goto yy64;
- case '"': goto yy60;
- case '\'': goto yy62;
- default: goto yy63;
- }
-yy60: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy77;
+ static unsigned char yybm[] = {
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 160, 160, 248, 248, 160, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 160, 248, 56, 248, 248, 248, 248, 200,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 0, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 248, 248, 248, 248, 248,
+ };
+
+#line 796 "url_scanner_ex.c"
+ {
+ YYCTYPE yych;
+ if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ if(yych <= ' ') {
+ if(yych <= 0x0C) {
+ if(yych <= 0x08) goto yy63;
+ if(yych <= 0x0A) goto yy64;
+ goto yy63;
+ } else {
+ if(yych <= 0x0D) goto yy64;
+ if(yych <= 0x1F) goto yy63;
+ goto yy64;
+ }
+ } else {
+ if(yych <= '&') {
+ if(yych != '"') goto yy63;
+ } else {
+ if(yych <= '\'') goto yy62;
+ if(yych == '>') goto yy64;
+ goto yy63;
+ }
+ }
+ yych = *(YYMARKER = ++YYCURSOR);
+ goto yy77;
yy61:
-#line 330 "ext/standard/url_scanner_ex.re"
-{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
-#line 841 "ext/standard/url_scanner_ex.c"
-yy62: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy69;
-yy63: yych = *++YYCURSOR;
- goto yy67;
-yy64: ++YYCURSOR;
- goto yy65;
-yy65:
-#line 331 "ext/standard/url_scanner_ex.re"
-{ passthru(STD_ARGS); goto state_next_arg_begin; }
-#line 852 "ext/standard/url_scanner_ex.c"
-yy66: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy67;
-yy67: switch(yych){
- case 0x09:
- case 0x0A: case 0x0D: case ' ': case '>': goto yy61;
- default: goto yy66;
- }
-yy68: yyaccept = 0;
- YYMARKER = ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy69;
-yy69: switch(yych){
- case 0x09:
- case 0x0A: case 0x0D: case ' ': goto yy72;
- case '\'': goto yy70;
- case '>': goto yy61;
- default: goto yy68;
- }
-yy70: ++YYCURSOR;
- switch((yych = *YYCURSOR)) {
- case 0x09:
- case 0x0A: case 0x0D: case ' ': case '>': goto yy71;
- default: goto yy66;
- }
+#line 331 "url_scanner_ex.re"
+ { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
+#line 825 "url_scanner_ex.c"
+yy62:
+ yych = *(YYMARKER = ++YYCURSOR);
+ goto yy69;
+yy63:
+ yych = *++YYCURSOR;
+ goto yy67;
+yy64:
+ ++YYCURSOR;
+#line 332 "url_scanner_ex.re"
+ { passthru(STD_ARGS); goto state_next_arg_begin; }
+#line 836 "url_scanner_ex.c"
+yy66:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy67:
+ if(yybm[0+yych] & 8) {
+ goto yy66;
+ }
+ goto yy61;
+yy68:
+ YYMARKER = ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy69:
+ if(yybm[0+yych] & 16) {
+ goto yy68;
+ }
+ if(yych <= '&') goto yy72;
+ if(yych >= '(') goto yy61;
+ ++YYCURSOR;
+ if(yybm[0+(yych = *YYCURSOR)] & 8) {
+ goto yy66;
+ }
yy71:
-#line 329 "ext/standard/url_scanner_ex.re"
-{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
-#line 883 "ext/standard/url_scanner_ex.c"
-yy72: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy73;
-yy73: switch(yych){
- case '\'': goto yy75;
- case '>': goto yy74;
- default: goto yy72;
- }
-yy74: YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy61;
- }
-yy75: yych = *++YYCURSOR;
- goto yy71;
-yy76: yyaccept = 0;
- YYMARKER = ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy77;
-yy77: switch(yych){
- case 0x09:
- case 0x0A: case 0x0D: case ' ': goto yy80;
- case '"': goto yy78;
- case '>': goto yy61;
- default: goto yy76;
- }
-yy78: ++YYCURSOR;
- switch((yych = *YYCURSOR)) {
- case 0x09:
- case 0x0A: case 0x0D: case ' ': case '>': goto yy79;
- default: goto yy66;
- }
+#line 330 "url_scanner_ex.re"
+ { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
+#line 863 "url_scanner_ex.c"
+yy72:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 32) {
+ goto yy72;
+ }
+ if(yych <= '=') goto yy75;
+yy74:
+ YYCURSOR = YYMARKER;
+ goto yy61;
+yy75:
+ yych = *++YYCURSOR;
+ goto yy71;
+yy76:
+ YYMARKER = ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy77:
+ if(yybm[0+yych] & 64) {
+ goto yy76;
+ }
+ if(yych <= '!') goto yy80;
+ if(yych >= '#') goto yy61;
+ ++YYCURSOR;
+ if(yybm[0+(yych = *YYCURSOR)] & 8) {
+ goto yy66;
+ }
yy79:
-#line 328 "ext/standard/url_scanner_ex.re"
-{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
-#line 920 "ext/standard/url_scanner_ex.c"
-yy80: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy81;
-yy81: switch(yych){
- case '"': goto yy82;
- case '>': goto yy74;
- default: goto yy80;
+#line 329 "url_scanner_ex.re"
+ { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
+#line 895 "url_scanner_ex.c"
+yy80:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy80;
+ }
+ if(yych >= '>') goto yy74;
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy79;
}
-yy82: ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy79;
}
-#line 332 "ext/standard/url_scanner_ex.re"
+#line 333 "url_scanner_ex.re"
stop:
diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re
index e1d0a67daf..2af339061a 100644
--- a/ext/standard/url_scanner_ex.re
+++ b/ext/standard/url_scanner_ex.re
@@ -93,6 +93,7 @@ PHP_INI_END()
any = [\000-\377];
N = (any\[<]);
alpha = [a-zA-Z];
+alphanamespace = [a-zA-Z:];
alphadash = ([a-zA-Z] | "-");
*/
@@ -291,7 +292,7 @@ state_plain:
state_tag:
start = YYCURSOR;
/*!re2c
- alpha+ { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
+ alphanamespace+ { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
any { passthru(STD_ARGS); goto state_plain_begin; }
*/