andrey          Sat Aug  6 12:15:55 2005 EDT

  Modified files:              
    /php-src/ext/mysqli mysqli_nonapi.c 
  Log:
  fix problem on 64 bit - when asking for "l" supply long not int because
  on 64 bit they differ and zend_parse_parameters makes a *(long*) cast
  which means that if the variable is int 4 bytes of the variable(s) 
  declared before it (on the stack) will be overwritten. In this case
  this is the length of the query -> made 0 and mysqli_query() returns
  FALSE.
  
  
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.51&r2=1.52&ty=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.51 
php-src/ext/mysqli/mysqli_nonapi.c:1.52
--- php-src/ext/mysqli/mysqli_nonapi.c:1.51     Wed Aug  3 10:07:30 2005
+++ php-src/ext/mysqli/mysqli_nonapi.c  Sat Aug  6 12:15:53 2005
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_nonapi.c,v 1.51 2005/08/03 14:07:30 sniper Exp $ 
+  $Id: mysqli_nonapi.c,v 1.52 2005/08/06 16:15:53 andrey Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -213,7 +213,7 @@
        MYSQL_RES                       *result;
        char                            *query = NULL;
        unsigned int            query_len;
-       unsigned int            resultmode = 0;
+       unsigned long           resultmode = 0;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), 
"Os|l", &mysql_link, mysqli_link_class_entry, &query, &query_len, &resultmode) 
== FAILURE) {
                return;

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

Reply via email to