andrey          Wed Apr 27 08:03:05 2005 EDT

  Added files:                 (Branch: PHP_5_0)
    /php-src/ext/mysqli/tests   bug31668.phpt 

  Modified files:              
    /php-src/ext/mysqli mysqli_nonapi.c php_mysqli.h 
  Log:
  - Fix bug 31668 (multi query fails every other time). The multi_query flag
    was global and not per connection.
  - use ecalloc() instead of calloc() for memory that will be freed with
    efree()
  
  
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.34.2.5&r2=1.34.2.6&ty=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.34.2.5 
php-src/ext/mysqli/mysqli_nonapi.c:1.34.2.6
--- php-src/ext/mysqli/mysqli_nonapi.c:1.34.2.5 Thu Feb 24 18:59:49 2005
+++ php-src/ext/mysqli/mysqli_nonapi.c  Wed Apr 27 08:03:04 2005
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_nonapi.c,v 1.34.2.5 2005/02/24 23:59:49 iliaa Exp $ 
+  $Id: mysqli_nonapi.c,v 1.34.2.6 2005/04/27 12:03:04 andrey Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -67,7 +67,7 @@
                }
        }
 
-       mysql = (MY_MYSQL *)calloc(1, sizeof(MY_MYSQL));
+       mysql = (MY_MYSQL *)ecalloc(1, sizeof(MY_MYSQL));
 
        if (!(mysql->mysql = mysql_init(NULL))) {
                efree(mysql);
@@ -132,7 +132,7 @@
                return;
        }
 
-       mysql = (MY_MYSQL *) calloc(1, sizeof(MY_MYSQL));
+       mysql = (MY_MYSQL *) ecalloc(1, sizeof(MY_MYSQL));
 
        if (!(mysql = mysql_init(NULL))) {
                efree(mysql);
@@ -217,7 +217,7 @@
        MY_MYSQL                *mysql;
        zval                    *mysql_link;
        char                    *query = NULL;
-       unsigned int    query_len;
+       unsigned long   query_len;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) {
                return;
http://cvs.php.net/diff.php/php-src/ext/mysqli/php_mysqli.h?r1=1.38.2.2&r2=1.38.2.3&ty=u
Index: php-src/ext/mysqli/php_mysqli.h
diff -u php-src/ext/mysqli/php_mysqli.h:1.38.2.2 
php-src/ext/mysqli/php_mysqli.h:1.38.2.3
--- php-src/ext/mysqli/php_mysqli.h:1.38.2.2    Sat Sep  4 10:19:20 2004
+++ php-src/ext/mysqli/php_mysqli.h     Wed Apr 27 08:03:04 2005
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: php_mysqli.h,v 1.38.2.2 2004/09/04 14:19:20 georg Exp $ 
+  $Id: php_mysqli.h,v 1.38.2.3 2005/04/27 12:03:04 andrey Exp $ 
 */
 
 /* A little hack to prevent build break, when mysql is used together with
@@ -55,6 +55,7 @@
        MYSQL           *mysql;
        zval            *li_read;
        php_stream      *li_stream;
+       unsigned int multi_query;       
 } MY_MYSQL;
 
 typedef struct {
@@ -131,14 +132,14 @@
 
 PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * 
TSRMLS_DC);
 
-#define MYSQLI_DISABLE_MQ if (MyG(multi_query)) { \
+#define MYSQLI_DISABLE_MQ if (mysql->multi_query) { \
        mysql_set_server_option(mysql->mysql, 
MYSQL_OPTION_MULTI_STATEMENTS_OFF); \
-       MyG(multi_query) = 0; \
+       mysql->multi_query = 0; \
 } 
 
-#define MYSQLI_ENABLE_MQ if (!MyG(multi_query)) { \
+#define MYSQLI_ENABLE_MQ if (!mysql->multi_query) { \
        mysql_set_server_option(mysql->mysql, 
MYSQL_OPTION_MULTI_STATEMENTS_ON); \
-       MyG(multi_query) = 1; \
+       mysql->multi_query = 1; \
 } 
 
 #define REGISTER_MYSQLI_CLASS_ENTRY(name, mysqli_entry, class_functions) { \
@@ -386,7 +387,6 @@
        char                    *error_msg;
        int                             report_mode;
        HashTable               *report_ht;
-       unsigned int    multi_query;
 #ifdef HAVE_EMBEDDED_MYSQLI
        unsigned int    embedded;
 #endif

http://cvs.php.net/co.php/php-src/ext/mysqli/tests/bug31668.phpt?r=1.1&p=1
Index: php-src/ext/mysqli/tests/bug31668.phpt
+++ php-src/ext/mysqli/tests/bug31668.phpt

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to