1
- /* Generated by re2c 0.13.5 on Fri Feb 25 04:35:39 2011 */
1
+ /* Generated by re2c 0.13.5 on Sun Apr 20 17:14:40 2014 */
2
2
#line 1 "ext/phar/phar_path_check.re"
3
3
/*
4
4
+----------------------------------------------------------------------+
@@ -46,60 +46,69 @@ phar_path_check_result phar_path_check(char **s, int *len, const char **error)
46
46
#line 47 "ext/phar/phar_path_check.c"
47
47
{
48
48
YYCTYPE yych ;
49
+ unsigned int yyaccept = 0 ;
49
50
50
51
if ((YYLIMIT - YYCURSOR ) < 4 ) YYFILL (4 );
51
52
yych = * YYCURSOR ;
52
- if (yych <= '. ' ) {
53
- if (yych <= '\n' ) {
54
- if (yych <= 0x00 ) goto yy13 ;
55
- if (yych <= '\t ' ) goto yy10 ;
56
- goto yy12 ;
53
+ if (yych <= '> ' ) {
54
+ if (yych <= 0x19 ) {
55
+ if (yych <= 0x00 ) goto yy16 ;
56
+ if (yych == '\n ' ) goto yy15 ;
57
+ goto yy14 ;
57
58
} else {
58
- if (yych <= 0x19 ) goto yy10 ;
59
- if (yych == '*' ) goto yy6 ;
60
- goto yy15 ;
59
+ if (yych <= '*' ) {
60
+ if (yych <= ')' ) goto yy18 ;
61
+ goto yy6 ;
62
+ } else {
63
+ if (yych != '/' ) goto yy18 ;
64
+ }
61
65
}
62
66
} else {
63
- if (yych <= '?' ) {
64
- if (yych <= '/' ) goto yy2 ;
65
- if (yych <= '>' ) goto yy15 ;
66
- goto yy8 ;
67
- } else {
67
+ if (yych <= 0x7F ) {
68
+ if (yych <= '?' ) goto yy8 ;
68
69
if (yych == '\\' ) goto yy4 ;
69
- if (yych <= 0x7F ) goto yy15 ;
70
- goto yy10 ;
70
+ goto yy18 ;
71
+ } else {
72
+ if (yych <= 0xDF ) {
73
+ if (yych <= 0xBF ) goto yy14 ;
74
+ goto yy10 ;
75
+ } else {
76
+ if (yych <= 0xEF ) goto yy12 ;
77
+ if (yych <= 0xF7 ) goto yy13 ;
78
+ goto yy14 ;
79
+ }
71
80
}
72
81
}
73
- yy2 :
82
+ yyaccept = 0 ;
74
83
yych = * (YYMARKER = ++ YYCURSOR );
75
84
if (yych <= '-' ) goto yy3 ;
76
- if (yych <= '.' ) goto yy16 ;
77
- if (yych <= '/' ) goto yy18 ;
85
+ if (yych <= '.' ) goto yy29 ;
86
+ if (yych <= '/' ) goto yy30 ;
78
87
yy3 :
79
- #line 93 "ext/phar/phar_path_check.re"
88
+ #line 105 "ext/phar/phar_path_check.re"
80
89
{
81
90
goto loop ;
82
91
}
83
- #line 84 "ext/phar/phar_path_check.c"
92
+ #line 93 "ext/phar/phar_path_check.c"
84
93
yy4 :
85
94
++ YYCURSOR ;
86
- #line 60 "ext/phar/phar_path_check.re"
95
+ #line 63 "ext/phar/phar_path_check.re"
87
96
{
88
97
* error = "back-slash" ;
89
98
return pcr_err_back_slash ;
90
99
}
91
- #line 92 "ext/phar/phar_path_check.c"
100
+ #line 101 "ext/phar/phar_path_check.c"
92
101
yy6 :
93
102
++ YYCURSOR ;
94
- #line 64 "ext/phar/phar_path_check.re"
103
+ #line 67 "ext/phar/phar_path_check.re"
95
104
{
96
105
* error = "star" ;
97
106
return pcr_err_star ;
98
107
}
99
- #line 100 "ext/phar/phar_path_check.c"
108
+ #line 109 "ext/phar/phar_path_check.c"
100
109
yy8 :
101
110
++ YYCURSOR ;
102
- #line 68 "ext/phar/phar_path_check.re"
111
+ #line 71 "ext/phar/phar_path_check.re"
103
112
{
104
113
if (* * s == '/' ) {
105
114
(* s )++ ;
@@ -108,22 +117,39 @@ phar_path_check_result phar_path_check(char **s, int *len, const char **error)
108
117
* error = NULL ;
109
118
return pcr_use_query ;
110
119
}
111
- #line 112 "ext/phar/phar_path_check.c"
120
+ #line 121 "ext/phar/phar_path_check.c"
112
121
yy10 :
113
122
++ YYCURSOR ;
123
+ if ((yych = * YYCURSOR ) <= 0x7F ) goto yy11 ;
124
+ if (yych <= 0xBF ) goto yy27 ;
114
125
yy11 :
115
- #line 76 "ext/phar/phar_path_check.re"
126
+ #line 88 "ext/phar/phar_path_check.re"
116
127
{
117
128
* error = "illegal character" ;
118
129
return pcr_err_illegal_char ;
119
130
}
120
- #line 121 "ext/phar/phar_path_check.c"
131
+ #line 132 "ext/phar/phar_path_check.c"
121
132
yy12 :
122
- yych = * ++ YYCURSOR ;
133
+ yyaccept = 1 ;
134
+ yych = * (YYMARKER = ++ YYCURSOR );
135
+ if (yych <= 0x7F ) goto yy11 ;
136
+ if (yych <= 0xBF ) goto yy24 ;
123
137
goto yy11 ;
124
138
yy13 :
139
+ yyaccept = 1 ;
140
+ yych = * (YYMARKER = ++ YYCURSOR );
141
+ if (yych <= 0x7F ) goto yy11 ;
142
+ if (yych <= 0xBF ) goto yy19 ;
143
+ goto yy11 ;
144
+ yy14 :
145
+ yych = * ++ YYCURSOR ;
146
+ goto yy11 ;
147
+ yy15 :
148
+ yych = * ++ YYCURSOR ;
149
+ goto yy11 ;
150
+ yy16 :
125
151
++ YYCURSOR ;
126
- #line 80 "ext/phar/phar_path_check.re"
152
+ #line 92 "ext/phar/phar_path_check.re"
127
153
{
128
154
if (* * s == '/' ) {
129
155
(* s )++ ;
@@ -137,49 +163,85 @@ phar_path_check_result phar_path_check(char **s, int *len, const char **error)
137
163
* error = NULL ;
138
164
return pcr_is_ok ;
139
165
}
140
- #line 141 "ext/phar/phar_path_check.c"
141
- yy15 :
166
+ #line 167 "ext/phar/phar_path_check.c"
167
+ yy18 :
142
168
yych = * ++ YYCURSOR ;
143
169
goto yy3 ;
144
- yy16 :
170
+ yy19 :
145
171
yych = * ++ YYCURSOR ;
146
- if (yych <= 0x00 ) goto yy21 ;
147
- if (yych <= '-' ) goto yy17 ;
148
- if (yych <= '.' ) goto yy20 ;
149
- if (yych <= '/' ) goto yy21 ;
150
- yy17 :
172
+ if (yych <= 0x7F ) goto yy20 ;
173
+ if (yych <= 0xBF ) goto yy21 ;
174
+ yy20 :
151
175
YYCURSOR = YYMARKER ;
152
- goto yy3 ;
153
- yy18 :
176
+ if (yyaccept <= 0 ) {
177
+ goto yy3 ;
178
+ } else {
179
+ goto yy11 ;
180
+ }
181
+ yy21 :
182
+ yych = * ++ YYCURSOR ;
183
+ if (yych <= 0x7F ) goto yy20 ;
184
+ if (yych >= 0xC0 ) goto yy20 ;
154
185
++ YYCURSOR ;
155
- #line 48 "ext/phar/phar_path_check.re"
186
+ #line 85 "ext/phar/phar_path_check.re"
187
+ {
188
+ goto loop ;
189
+ }
190
+ #line 191 "ext/phar/phar_path_check.c"
191
+ yy24 :
192
+ yych = * ++ YYCURSOR ;
193
+ if (yych <= 0x7F ) goto yy20 ;
194
+ if (yych >= 0xC0 ) goto yy20 ;
195
+ ++ YYCURSOR ;
196
+ #line 82 "ext/phar/phar_path_check.re"
197
+ {
198
+ goto loop ;
199
+ }
200
+ #line 201 "ext/phar/phar_path_check.c"
201
+ yy27 :
202
+ ++ YYCURSOR ;
203
+ #line 79 "ext/phar/phar_path_check.re"
204
+ {
205
+ goto loop ;
206
+ }
207
+ #line 208 "ext/phar/phar_path_check.c"
208
+ yy29 :
209
+ yych = * ++ YYCURSOR ;
210
+ if (yych <= 0x00 ) goto yy33 ;
211
+ if (yych <= '-' ) goto yy20 ;
212
+ if (yych <= '.' ) goto yy32 ;
213
+ if (yych <= '/' ) goto yy33 ;
214
+ goto yy20 ;
215
+ yy30 :
216
+ ++ YYCURSOR ;
217
+ #line 51 "ext/phar/phar_path_check.re"
156
218
{
157
219
* error = "double slash" ;
158
220
return pcr_err_double_slash ;
159
221
}
160
- #line 161 "ext/phar/phar_path_check.c"
161
- yy20 :
222
+ #line 223 "ext/phar/phar_path_check.c"
223
+ yy32 :
162
224
yych = * ++ YYCURSOR ;
163
- if (yych <= 0x00 ) goto yy23 ;
164
- if (yych == '/' ) goto yy23 ;
165
- goto yy17 ;
166
- yy21 :
225
+ if (yych <= 0x00 ) goto yy35 ;
226
+ if (yych == '/' ) goto yy35 ;
227
+ goto yy20 ;
228
+ yy33 :
167
229
++ YYCURSOR ;
168
- #line 56 "ext/phar/phar_path_check.re"
230
+ #line 59 "ext/phar/phar_path_check.re"
169
231
{
170
232
* error = "current directory reference" ;
171
233
return pcr_err_curr_dir ;
172
234
}
173
- #line 174 "ext/phar/phar_path_check.c"
174
- yy23 :
235
+ #line 236 "ext/phar/phar_path_check.c"
236
+ yy35 :
175
237
++ YYCURSOR ;
176
- #line 52 "ext/phar/phar_path_check.re"
238
+ #line 55 "ext/phar/phar_path_check.re"
177
239
{
178
240
* error = "upper directory reference" ;
179
241
return pcr_err_up_dir ;
180
242
}
181
- #line 182 "ext/phar/phar_path_check.c"
243
+ #line 244 "ext/phar/phar_path_check.c"
182
244
}
183
- #line 96 "ext/phar/phar_path_check.re"
245
+ #line 108 "ext/phar/phar_path_check.re"
184
246
185
247
}
0 commit comments