|
|
|
@ -1,4 +1,4 @@ |
|
|
|
/* Generated by re2c 0.12.3 on Tue Jan 8 18:41:21 2008 */ |
|
|
|
/* Generated by re2c 0.13.5 on Fri Feb 25 04:35:39 2011 */ |
|
|
|
#line 1 "ext/phar/phar_path_check.re" |
|
|
|
/* |
|
|
|
+----------------------------------------------------------------------+ |
|
|
|
@ -42,66 +42,65 @@ phar_path_check_result phar_path_check(char **s, int *len, const char **error) |
|
|
|
#define YYFILL(n) |
|
|
|
|
|
|
|
loop: |
|
|
|
{ |
|
|
|
|
|
|
|
#line 48 "ext/phar/phar_path_check.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
#line 47 "ext/phar/phar_path_check.c" |
|
|
|
{ |
|
|
|
YYCTYPE yych; |
|
|
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if(yych <= '.') { |
|
|
|
if(yych <= 0x0A) { |
|
|
|
if(yych <= 0x00) goto yy13; |
|
|
|
if(yych <= 0x09) goto yy10; |
|
|
|
goto yy12; |
|
|
|
} else { |
|
|
|
if(yych <= 0x19) goto yy10; |
|
|
|
if(yych == '*') goto yy6; |
|
|
|
goto yy15; |
|
|
|
} |
|
|
|
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); |
|
|
|
yych = *YYCURSOR; |
|
|
|
if (yych <= '.') { |
|
|
|
if (yych <= '\n') { |
|
|
|
if (yych <= 0x00) goto yy13; |
|
|
|
if (yych <= '\t') goto yy10; |
|
|
|
goto yy12; |
|
|
|
} else { |
|
|
|
if(yych <= '?') { |
|
|
|
if(yych <= '/') goto yy2; |
|
|
|
if(yych <= '>') goto yy15; |
|
|
|
goto yy8; |
|
|
|
} else { |
|
|
|
if(yych == '\\') goto yy4; |
|
|
|
if(yych <= 0x7F) goto yy15; |
|
|
|
goto yy10; |
|
|
|
} |
|
|
|
if (yych <= 0x19) goto yy10; |
|
|
|
if (yych == '*') goto yy6; |
|
|
|
goto yy15; |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (yych <= '?') { |
|
|
|
if (yych <= '/') goto yy2; |
|
|
|
if (yych <= '>') goto yy15; |
|
|
|
goto yy8; |
|
|
|
} else { |
|
|
|
if (yych == '\\') goto yy4; |
|
|
|
if (yych <= 0x7F) goto yy15; |
|
|
|
goto yy10; |
|
|
|
} |
|
|
|
} |
|
|
|
yy2: |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
if(yych <= '-') goto yy3; |
|
|
|
if(yych <= '.') goto yy16; |
|
|
|
if(yych <= '/') goto yy18; |
|
|
|
yych = *(YYMARKER = ++YYCURSOR); |
|
|
|
if (yych <= '-') goto yy3; |
|
|
|
if (yych <= '.') goto yy16; |
|
|
|
if (yych <= '/') goto yy18; |
|
|
|
yy3: |
|
|
|
#line 93 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
goto loop; |
|
|
|
} |
|
|
|
#line 85 "ext/phar/phar_path_check.c" |
|
|
|
#line 84 "ext/phar/phar_path_check.c" |
|
|
|
yy4: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 60 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
*error = "back-slash"; |
|
|
|
return pcr_err_back_slash; |
|
|
|
} |
|
|
|
#line 93 "ext/phar/phar_path_check.c" |
|
|
|
#line 92 "ext/phar/phar_path_check.c" |
|
|
|
yy6: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 64 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
*error = "star"; |
|
|
|
return pcr_err_star; |
|
|
|
} |
|
|
|
#line 101 "ext/phar/phar_path_check.c" |
|
|
|
#line 100 "ext/phar/phar_path_check.c" |
|
|
|
yy8: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 68 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (**s == '/') { |
|
|
|
(*s)++; |
|
|
|
} |
|
|
|
@ -109,23 +108,23 @@ yy8: |
|
|
|
*error = NULL; |
|
|
|
return pcr_use_query; |
|
|
|
} |
|
|
|
#line 113 "ext/phar/phar_path_check.c" |
|
|
|
#line 112 "ext/phar/phar_path_check.c" |
|
|
|
yy10: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
yy11: |
|
|
|
#line 76 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
*error ="illegal character"; |
|
|
|
return pcr_err_illegal_char; |
|
|
|
} |
|
|
|
#line 122 "ext/phar/phar_path_check.c" |
|
|
|
#line 121 "ext/phar/phar_path_check.c" |
|
|
|
yy12: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy11; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy11; |
|
|
|
yy13: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 80 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (**s == '/') { |
|
|
|
(*s)++; |
|
|
|
(*len)--; |
|
|
|
@ -138,49 +137,48 @@ yy13: |
|
|
|
*error = NULL; |
|
|
|
return pcr_is_ok; |
|
|
|
} |
|
|
|
#line 142 "ext/phar/phar_path_check.c" |
|
|
|
#line 141 "ext/phar/phar_path_check.c" |
|
|
|
yy15: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy3; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
goto yy3; |
|
|
|
yy16: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
if(yych <= 0x00) goto yy21; |
|
|
|
if(yych <= '-') goto yy17; |
|
|
|
if(yych <= '.') goto yy20; |
|
|
|
if(yych <= '/') goto yy21; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
if (yych <= 0x00) goto yy21; |
|
|
|
if (yych <= '-') goto yy17; |
|
|
|
if (yych <= '.') goto yy20; |
|
|
|
if (yych <= '/') goto yy21; |
|
|
|
yy17: |
|
|
|
YYCURSOR = YYMARKER; |
|
|
|
goto yy3; |
|
|
|
YYCURSOR = YYMARKER; |
|
|
|
goto yy3; |
|
|
|
yy18: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 48 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
*error = "double slash"; |
|
|
|
return pcr_err_double_slash; |
|
|
|
} |
|
|
|
#line 162 "ext/phar/phar_path_check.c" |
|
|
|
#line 161 "ext/phar/phar_path_check.c" |
|
|
|
yy20: |
|
|
|
yych = *++YYCURSOR; |
|
|
|
if(yych <= 0x00) goto yy23; |
|
|
|
if(yych == '/') goto yy23; |
|
|
|
goto yy17; |
|
|
|
yych = *++YYCURSOR; |
|
|
|
if (yych <= 0x00) goto yy23; |
|
|
|
if (yych == '/') goto yy23; |
|
|
|
goto yy17; |
|
|
|
yy21: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 56 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
*error = "current directory reference"; |
|
|
|
return pcr_err_curr_dir; |
|
|
|
} |
|
|
|
#line 175 "ext/phar/phar_path_check.c" |
|
|
|
#line 174 "ext/phar/phar_path_check.c" |
|
|
|
yy23: |
|
|
|
++YYCURSOR; |
|
|
|
++YYCURSOR; |
|
|
|
#line 52 "ext/phar/phar_path_check.re" |
|
|
|
{ |
|
|
|
{ |
|
|
|
*error = "upper directory reference"; |
|
|
|
return pcr_err_up_dir; |
|
|
|
} |
|
|
|
#line 183 "ext/phar/phar_path_check.c" |
|
|
|
} |
|
|
|
#line 182 "ext/phar/phar_path_check.c" |
|
|
|
} |
|
|
|
#line 96 "ext/phar/phar_path_check.re" |
|
|
|
|
|
|
|
|