wez Sat Feb 26 10:45:43 2005 EDT
Modified files:
/php-src/ext/pdo pdo_sql_parser.c
Log:
and the generated file
http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.c?r1=1.23&r2=1.24&ty=u
Index: php-src/ext/pdo/pdo_sql_parser.c
diff -u php-src/ext/pdo/pdo_sql_parser.c:1.23
php-src/ext/pdo/pdo_sql_parser.c:1.24
--- php-src/ext/pdo/pdo_sql_parser.c:1.23 Sun Feb 13 01:30:36 2005
+++ php-src/ext/pdo/pdo_sql_parser.c Sat Feb 26 10:45:43 2005
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.9.3 on Sun Feb 13 00:25:51 2005 */
+/* Generated by re2c 0.9.3 on Sat Feb 26 10:44:39 2005 */
#line 1 "pdo_sql_parser.re"
/*
+----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pdo_sql_parser.c,v 1.23 2005/02/13 06:30:36 wez Exp $ */
+/* $Id: pdo_sql_parser.c,v 1.24 2005/02/26 15:45:43 wez Exp $ */
#include "php.h"
#include "php_pdo_driver.h"
@@ -326,18 +326,38 @@
ret = -1;
goto clean_up;
}
+ plc->freeq = 1;
} else {
- convert_to_string(param->parameter);
- if
(!stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_P(param->parameter),
-
Z_STRLEN_P(param->parameter), &plc->quoted, &plc->qlen,
-
param->param_type TSRMLS_CC)) {
- /* bork */
- ret = -1;
- strcpy(stmt->error_code,
stmt->dbh->error_code);
- goto clean_up;
+ switch (Z_TYPE_P(param->parameter)) {
+ case IS_NULL:
+ plc->quoted = "NULL";
+ plc->qlen =
sizeof("NULL")-1;
+ plc->freeq = 0;
+ break;
+
+ case IS_BOOL:
+
convert_to_long(param->parameter);
+ case IS_LONG:
+ case IS_DOUBLE:
+
convert_to_string(param->parameter);
+ plc->qlen =
Z_STRLEN_P(param->parameter);
+ plc->quoted =
Z_STRLEN_P(param->parameter);
+ plc->freeq = 0;
+ break;
+
+ default:
+
convert_to_string(param->parameter);
+ if
(!stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_P(param->parameter),
+
Z_STRLEN_P(param->parameter), &plc->quoted, &plc->qlen,
+
param->param_type TSRMLS_CC)) {
+ /* bork */
+ ret = -1;
+
strcpy(stmt->error_code, stmt->dbh->error_code);
+ goto clean_up;
+ }
+ plc->freeq = 1;
}
}
- plc->freeq = 1;
} else {
plc->quoted = Z_STRVAL_P(param->parameter);
plc->qlen = Z_STRLEN_P(param->parameter);-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
