]> granicus.if.org Git - php/commitdiff
Tweaks for win32
authorWez Furlong <wez@php.net>
Tue, 18 May 2004 15:57:46 +0000 (15:57 +0000)
committerWez Furlong <wez@php.net>
Tue, 18 May 2004 15:57:46 +0000 (15:57 +0000)
ext/pdo/pdo_sql_parser.re
ext/pdo/pdo_stmt.c
ext/pdo/php_pdo.h

index 6a14cfe53c8e6ce2540b491bf120e2f49f6561ff..2bcde49f1c9c62e2a2e95f6f770b677a0fcbb38b 100644 (file)
@@ -21,9 +21,9 @@
 #include "php.h"
 #include "php_pdo_driver.h"
 
-#define TEXT 1
-#define BIND 2
-#define EOI 3
+#define PDO_PARSER_TEXT 1
+#define PDO_PARSER_BIND 2
+#define PDO_PARSER_EOI 3
 
 #define RET(i) {s->cur = cursor; return i; }
 
@@ -51,16 +51,16 @@ static int scan(Scanner *s)
        */
 
        /*!re2c
-               (["] (ESC|ANYNOEOF\[\\"])* ["])         { RET(TEXT); }
-               BINDCHR { RET(BIND); }
-               SPECIALS        { RET(TEXT); }
-               (ANYNOEOF\SPECIALS)+ { RET(TEXT); }
-               EOF             { RET(EOI); }
+               (["] (ESC|ANYNOEOF\[\\"])* ["])         { RET(PDO_PARSER_TEXT); }
+               BINDCHR { RET(PDO_PARSER_BIND); }
+               SPECIALS        { RET(PDO_PARSER_TEXT); }
+               (ANYNOEOF\SPECIALS)+ { RET(PDO_PARSER_TEXT); }
+               EOF             { RET(PDO_PARSER_EOI); }
        */      
 }
 
 int pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, char **outquery, 
-                        int *outquery_len)
+               int *outquery_len TSRMLS_DC)
 {
        Scanner s;
        char *ptr;
@@ -92,13 +92,13 @@ int pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, char **ou
        ptr = *outquery;
        s.cur = inquery;
        s.lim = inquery + inquery_len;
-       while((t = scan(&s)) != EOI) {
-               if(t == TEXT) {
+       while((t = scan(&s)) != PDO_PARSER_EOI) {
+               if(t == PDO_PARSER_TEXT) {
                        memcpy(ptr, s.tok, s.cur - s.tok);
                        ptr += (s.cur - s.tok);
                        *outquery_len += (s.cur - s.tok);
                }
-               else if(t == BIND) {
+               else if(t == PDO_PARSER_BIND) {
                        if(!params) { 
                                /* error */
                                efree(*outquery);
@@ -153,6 +153,6 @@ int pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, char **ou
  * tab-width: 4
  * c-basic-offset: 4
  * End:
- * vim600: noet sw=4 ts=4 fdm=marker
+ * vim600: noet sw=4 ts=4 fdm=marker ft=c
  * vim<600: noet sw=4 ts=4
  */
index 0ed46571dc3fe63edb11f7e670bb0eb675b27d0c..e9bf0b0d01ed49d381f46a21275cadc7181fc888 100755 (executable)
@@ -292,8 +292,10 @@ static PHP_METHOD(PDOStatement, execute)
                RETURN_FALSE;
        }
        if (stmt->methods->executer(stmt TSRMLS_CC)) {
-               efree(stmt->active_query_string);
-               stmt->active_query_string = NULL;
+               if (stmt->active_query_string) {
+                       efree(stmt->active_query_string);
+                       stmt->active_query_string = NULL;
+               }
                if (!stmt->executed) {
                        /* this is the first execute */
 
@@ -312,8 +314,10 @@ static PHP_METHOD(PDOStatement, execute)
                        
                RETURN_BOOL(ret);
        }
-       efree(stmt->active_query_string);
-       stmt->active_query_string = NULL;
+       if (stmt->active_query_string) {
+               efree(stmt->active_query_string);
+               stmt->active_query_string = NULL;
+       }
        RETURN_FALSE;
 }
 /* }}} */
index cfa1f2b626b11bbe085bfe5cad110feac4e0758a..a7fbd90894f5141f1fafafed2ef2b95672936d9b 100755 (executable)
@@ -20,7 +20,6 @@
 
 #ifndef PHP_PDO_H
 #define PHP_PDO_H
-#include "php.h"
 
 extern zend_module_entry pdo_module_entry;
 #define phpext_pdo_ptr &pdo_module_entry