]> granicus.if.org Git - php/commitdiff
Commit generated file
authorJohannes Schlüter <johannes@php.net>
Thu, 19 Apr 2012 10:47:09 +0000 (12:47 +0200)
committerJohannes Schlüter <johannes@php.net>
Thu, 19 Apr 2012 10:47:09 +0000 (12:47 +0200)
ext/pdo/pdo_sql_parser.c

index ed8af84527465257f9a947c7437acb8805a2e933..0267d154545959bb96cdb37da338c5d0de134dc4 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Apr 18 22:30:06 2012 */
+/* Generated by re2c 0.13.5 on Thu Apr 19 12:42:11 2012 */
 #line 1 "ext/pdo/pdo_sql_parser.re"
 /*
   +----------------------------------------------------------------------+
 
 #define YYCTYPE         unsigned char
 #define YYCURSOR        cursor
-#define YYLIMIT         cursor
+#define YYLIMIT         s->end
 #define YYMARKER        s->ptr
-#define YYFILL(n)
+#define YYFILL(n)              { RET(PDO_PARSER_EOI); }
 
 typedef struct Scanner {
-       char    *ptr, *cur, *tok;
+       char    *ptr, *cur, *tok, *end;
 } Scanner;
 
 static int scan(Scanner *s) 
@@ -47,7 +47,7 @@ static int scan(Scanner *s)
        char *cursor = s->cur;
 
        s->tok = cursor;
-       #line 56 "ext/pdo/pdo_sql_parser.re"
+       #line 55 "ext/pdo/pdo_sql_parser.re"
 
 
        
@@ -59,29 +59,35 @@ static int scan(Scanner *s)
        if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
        switch (yych) {
-       case 0x00:      goto yy13;
-       case '"':       goto yy2;
-       case '\'':      goto yy4;
-       case '-':       goto yy10;
-       case '/':       goto yy8;
-       case ':':       goto yy5;
-       case '?':       goto yy6;
-       default:        goto yy11;
+       case 0x00:      goto yy2;
+       case '"':       goto yy3;
+       case '\'':      goto yy5;
+       case '-':       goto yy11;
+       case '/':       goto yy9;
+       case ':':       goto yy6;
+       case '?':       goto yy7;
+       default:        goto yy12;
        }
 yy2:
+       YYCURSOR = YYMARKER;
+       switch (yyaccept) {
+       case 0:         goto yy4;
+       case 1:         goto yy10;
+       }
+yy3:
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych >= 0x01) goto yy43;
-yy3:
-#line 64 "ext/pdo/pdo_sql_parser.re"
-       { SKIP_ONE(PDO_PARSER_TEXT); }
-#line 79 "ext/pdo/pdo_sql_parser.c"
+       if (yych >= 0x01) goto yy41;
 yy4:
+#line 63 "ext/pdo/pdo_sql_parser.re"
+       { SKIP_ONE(PDO_PARSER_TEXT); }
+#line 85 "ext/pdo/pdo_sql_parser.c"
+yy5:
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 0x00) goto yy3;
-       goto yy37;
-yy5:
+       if (yych <= 0x00) goto yy4;
+       goto yy36;
+yy6:
        yych = *++YYCURSOR;
        switch (yych) {
        case '0':
@@ -146,57 +152,52 @@ yy5:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy33;
+       case 'z':       goto yy32;
        case ':':
-       case '?':       goto yy30;
-       default:        goto yy3;
+       case '?':       goto yy29;
+       default:        goto yy4;
        }
-yy6:
+yy7:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
        case ':':
-       case '?':       goto yy30;
-       default:        goto yy7;
+       case '?':       goto yy29;
+       default:        goto yy8;
        }
-yy7:
-#line 63 "ext/pdo/pdo_sql_parser.re"
-       { RET(PDO_PARSER_BIND_POS); }
-#line 165 "ext/pdo/pdo_sql_parser.c"
 yy8:
+#line 62 "ext/pdo/pdo_sql_parser.re"
+       { RET(PDO_PARSER_BIND_POS); }
+#line 171 "ext/pdo/pdo_sql_parser.c"
+yy9:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '*':       goto yy20;
-       default:        goto yy12;
+       case '*':       goto yy19;
+       default:        goto yy13;
        }
-yy9:
-#line 66 "ext/pdo/pdo_sql_parser.re"
-       { RET(PDO_PARSER_TEXT); }
-#line 175 "ext/pdo/pdo_sql_parser.c"
 yy10:
+#line 65 "ext/pdo/pdo_sql_parser.re"
+       { RET(PDO_PARSER_TEXT); }
+#line 181 "ext/pdo/pdo_sql_parser.c"
+yy11:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '-':       goto yy15;
-       default:        goto yy12;
+       case '-':       goto yy14;
+       default:        goto yy13;
        }
-yy11:
+yy12:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy12:
+yy13:
        switch (yych) {
        case 0x00:
        case '"':
        case '\'':
        case ':':
-       case '?':       goto yy9;
-       default:        goto yy11;
+       case '?':       goto yy10;
+       default:        goto yy12;
        }
-yy13:
-       ++YYCURSOR;
-#line 67 "ext/pdo/pdo_sql_parser.re"
-       { RET(PDO_PARSER_EOI); }
-#line 199 "ext/pdo/pdo_sql_parser.c"
-yy15:
+yy14:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
@@ -205,25 +206,25 @@ yy15:
        case '"':
        case '\'':
        case ':':
-       case '?':       goto yy18;
+       case '?':       goto yy17;
        case '\n':
-       case '\r':      goto yy11;
-       default:        goto yy15;
+       case '\r':      goto yy12;
+       default:        goto yy14;
        }
-yy17:
-#line 65 "ext/pdo/pdo_sql_parser.re"
+yy16:
+#line 64 "ext/pdo/pdo_sql_parser.re"
        { RET(PDO_PARSER_TEXT); }
-#line 217 "ext/pdo/pdo_sql_parser.c"
-yy18:
+#line 218 "ext/pdo/pdo_sql_parser.c"
+yy17:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
        case '\n':
-       case '\r':      goto yy17;
-       default:        goto yy18;
+       case '\r':      goto yy16;
+       default:        goto yy17;
        }
-yy20:
+yy19:
        yyaccept = 1;
        YYMARKER = ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -233,19 +234,19 @@ yy20:
        case '"':
        case '\'':
        case ':':
-       case '?':       goto yy22;
-       case '*':       goto yy24;
-       default:        goto yy20;
+       case '?':       goto yy21;
+       case '*':       goto yy23;
+       default:        goto yy19;
        }
-yy22:
+yy21:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
-       case '*':       goto yy27;
-       default:        goto yy22;
+       case '*':       goto yy26;
+       default:        goto yy21;
        }
-yy24:
+yy23:
        yyaccept = 1;
        YYMARKER = ++YYCURSOR;
        if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -255,47 +256,47 @@ yy24:
        case '"':
        case '\'':
        case ':':
-       case '?':       goto yy22;
-       case '*':       goto yy24;
-       case '/':       goto yy26;
-       default:        goto yy20;
+       case '?':       goto yy21;
+       case '*':       goto yy23;
+       case '/':       goto yy25;
+       default:        goto yy19;
        }
-yy26:
+yy25:
        yych = *++YYCURSOR;
        switch (yych) {
        case 0x00:
        case '"':
        case '\'':
        case ':':
-       case '?':       goto yy17;
-       default:        goto yy11;
+       case '?':       goto yy16;
+       default:        goto yy12;
        }
-yy27:
+yy26:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
-       case '*':       goto yy27;
-       case '/':       goto yy29;
-       default:        goto yy22;
+       case '*':       goto yy26;
+       case '/':       goto yy28;
+       default:        goto yy21;
        }
-yy29:
+yy28:
        yych = *++YYCURSOR;
-       goto yy17;
-yy30:
+       goto yy16;
+yy29:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        switch (yych) {
        case ':':
-       case '?':       goto yy30;
-       default:        goto yy32;
+       case '?':       goto yy29;
+       default:        goto yy31;
        }
-yy32:
-#line 61 "ext/pdo/pdo_sql_parser.re"
+yy31:
+#line 60 "ext/pdo/pdo_sql_parser.re"
        { RET(PDO_PARSER_TEXT); }
-#line 298 "ext/pdo/pdo_sql_parser.c"
-yy33:
+#line 299 "ext/pdo/pdo_sql_parser.c"
+yy32:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
@@ -362,65 +363,59 @@ yy33:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy33;
-       default:        goto yy35;
+       case 'z':       goto yy32;
+       default:        goto yy34;
        }
-yy35:
-#line 62 "ext/pdo/pdo_sql_parser.re"
+yy34:
+#line 61 "ext/pdo/pdo_sql_parser.re"
        { RET(PDO_PARSER_BIND); }
-#line 372 "ext/pdo/pdo_sql_parser.c"
-yy36:
+#line 373 "ext/pdo/pdo_sql_parser.c"
+yy35:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy37:
+yy36:
        switch (yych) {
-       case 0x00:      goto yy38;
-       case '\'':      goto yy40;
-       case '\\':      goto yy39;
-       default:        goto yy36;
-       }
-yy38:
-       YYCURSOR = YYMARKER;
-       switch (yyaccept) {
-       case 0:         goto yy3;
-       case 1:         goto yy9;
+       case 0x00:      goto yy2;
+       case '\'':      goto yy38;
+       case '\\':      goto yy37;
+       default:        goto yy35;
        }
-yy39:
+yy37:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-       if (yych <= 0x00) goto yy38;
-       goto yy36;
-yy40:
+       if (yych <= 0x00) goto yy2;
+       goto yy35;
+yy38:
        ++YYCURSOR;
-#line 60 "ext/pdo/pdo_sql_parser.re"
+#line 59 "ext/pdo/pdo_sql_parser.re"
        { RET(PDO_PARSER_TEXT); }
-#line 400 "ext/pdo/pdo_sql_parser.c"
-yy42:
+#line 395 "ext/pdo/pdo_sql_parser.c"
+yy40:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-yy43:
+yy41:
        switch (yych) {
-       case 0x00:      goto yy38;
-       case '"':       goto yy45;
-       case '\\':      goto yy44;
-       default:        goto yy42;
+       case 0x00:      goto yy2;
+       case '"':       goto yy43;
+       case '\\':      goto yy42;
+       default:        goto yy40;
        }
-yy44:
+yy42:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-       if (yych <= 0x00) goto yy38;
-       goto yy42;
-yy45:
+       if (yych <= 0x00) goto yy2;
+       goto yy40;
+yy43:
        ++YYCURSOR;
-#line 59 "ext/pdo/pdo_sql_parser.re"
+#line 58 "ext/pdo/pdo_sql_parser.re"
        { RET(PDO_PARSER_TEXT); }
-#line 422 "ext/pdo/pdo_sql_parser.c"
+#line 417 "ext/pdo/pdo_sql_parser.c"
 }
-#line 68 "ext/pdo/pdo_sql_parser.re"
+#line 66 "ext/pdo/pdo_sql_parser.re"
        
 }
 
@@ -450,6 +445,7 @@ PDO_API int pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len,
 
        ptr = *outquery;
        s.cur = inquery;
+       s.end = inquery + inquery_len + 1;
 
        /* phase 1: look for args */
        while((t = scan(&s)) != PDO_PARSER_EOI) {