wez Mon Jul 11 23:20:08 2005 EDT Modified files: /php-src/ext/pdo pdo_sql_parser.c Log: touch generated file http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.c?r1=1.30&r2=1.31&ty=u Index: php-src/ext/pdo/pdo_sql_parser.c diff -u php-src/ext/pdo/pdo_sql_parser.c:1.30 php-src/ext/pdo/pdo_sql_parser.c:1.31 --- php-src/ext/pdo/pdo_sql_parser.c:1.30 Fri Jul 8 16:38:13 2005 +++ php-src/ext/pdo/pdo_sql_parser.c Mon Jul 11 23:20:08 2005 @@ -1,5 +1,5 @@ -/* Generated by re2c 0.9.8 on Fri Jul 8 22:33:49 2005 */ -#line 1 "ext/pdo/pdo_sql_parser.re" +/* Generated by re2c 0.9.3 on Mon Jul 11 23:09:09 2005 */ +#line 1 "../pdo/pdo_sql_parser.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_sql_parser.c,v 1.30 2005/07/08 20:38:13 helly Exp $ */ +/* $Id: pdo_sql_parser.c,v 1.31 2005/07/12 03:20:08 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -46,21 +46,21 @@ char *cursor = s->cur; s->tok = cursor; - #line 55 "ext/pdo/pdo_sql_parser.re" + #line 55 "../pdo/pdo_sql_parser.re" -#line 54 "ext/pdo/pdo_sql_parser.c" +#line 7 "<stdout>" { YYCTYPE yych; unsigned int yyaccept; goto yy0; - ++YYCURSOR; +yy1: ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch(yych){ - case 0x00: goto yy11; + case '\000': goto yy11; case '"': goto yy2; case '\'': goto yy4; case ':': goto yy5; @@ -69,16 +69,16 @@ } yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych >= 0x01) goto yy24; + if(yych >= '\001') goto yy24; goto yy3; yy3: -#line 62 "ext/pdo/pdo_sql_parser.re" +#line 62 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 78 "ext/pdo/pdo_sql_parser.c" +#line 31 "<stdout>" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ - case 0x00: case '"': goto yy3; + case '\000': case '"': goto yy3; default: goto yy17; } yy5: yych = *++YYCURSOR; @@ -148,27 +148,27 @@ yy6: ++YYCURSOR; goto yy7; yy7: -#line 61 "ext/pdo/pdo_sql_parser.re" +#line 61 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_BIND_POS); } -#line 154 "ext/pdo/pdo_sql_parser.c" +#line 107 "<stdout>" yy8: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy9; yy9: switch(yych){ - case 0x00: case '"': case '\'': case ':': case '?': goto yy10; + case '\000': case '"': case '\'': case ':': case '?': goto yy10; default: goto yy8; } yy10: -#line 63 "ext/pdo/pdo_sql_parser.re" +#line 63 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 166 "ext/pdo/pdo_sql_parser.c" +#line 120 "<stdout>" yy11: ++YYCURSOR; goto yy12; yy12: -#line 64 "ext/pdo/pdo_sql_parser.re" +#line 64 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_EOI); } -#line 172 "ext/pdo/pdo_sql_parser.c" +#line 126 "<stdout>" yy13: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -237,15 +237,15 @@ default: goto yy15; } yy15: -#line 60 "ext/pdo/pdo_sql_parser.re" +#line 60 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_BIND); } -#line 243 "ext/pdo/pdo_sql_parser.c" +#line 198 "<stdout>" yy16: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy17; yy17: switch(yych){ - case 0x00: case '"': goto yy18; + case '\000': case '"': goto yy18; case '\'': goto yy19; case '\\': goto yy22; default: goto yy16; @@ -261,15 +261,15 @@ yych = *YYCURSOR; goto yy20; yy20: switch(yych){ - case 0x00: case '"': goto yy21; + case '\000': case '"': goto yy21; case '\'': goto yy19; case '\\': goto yy22; default: goto yy16; } yy21: -#line 59 "ext/pdo/pdo_sql_parser.re" +#line 59 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 273 "ext/pdo/pdo_sql_parser.c" +#line 229 "<stdout>" yy22: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -282,7 +282,7 @@ yych = *YYCURSOR; goto yy24; yy24: switch(yych){ - case 0x00: goto yy18; + case '\000': goto yy18; case '"': goto yy26; case '\\': goto yy25; default: goto yy23; @@ -297,11 +297,11 @@ yy26: ++YYCURSOR; goto yy27; yy27: -#line 58 "ext/pdo/pdo_sql_parser.re" +#line 58 "../pdo/pdo_sql_parser.re" { RET(PDO_PARSER_TEXT); } -#line 303 "ext/pdo/pdo_sql_parser.c" +#line 262 "<stdout>" } -#line 65 "ext/pdo/pdo_sql_parser.re" +#line 65 "../pdo/pdo_sql_parser.re" } @@ -516,9 +516,15 @@ /* rewrite ? to :pdoX */ char idxbuf[32]; const char *tmpl = stmt->named_rewrite_template ? stmt->named_rewrite_template : ":pdo%d"; + char *name; newbuffer_len = inquery_len; + if (stmt->bound_param_map == NULL) { + ALLOC_HASHTABLE(stmt->bound_param_map); + zend_hash_init(stmt->bound_param_map, 13, NULL, NULL, 0); + } + for (plc = placeholders; plc; plc = plc->next) { snprintf(idxbuf, sizeof(idxbuf), tmpl, plc->bindno + 1); plc->quoted = estrdup(idxbuf); @@ -526,18 +532,18 @@ plc->freeq = 1; newbuffer_len += plc->qlen; + name = estrndup(plc->pos, plc->len); + if (stmt->named_rewrite_template) { /* create a mapping */ - char *name = estrndup(plc->pos, plc->len); - if (stmt->bound_param_map == NULL) { - ALLOC_HASHTABLE(stmt->bound_param_map); - zend_hash_init(stmt->bound_param_map, 13, NULL, NULL, 0); - } - zend_hash_update(stmt->bound_param_map, name, plc->len + 1, idxbuf, plc->qlen + 1, NULL); - efree(name); } + + /* map number to name */ + zend_hash_index_update(stmt->bound_param_map, plc->bindno, idxbuf, plc->qlen + 1, NULL); + + efree(name); } goto rewrite;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php