jani            Mon Oct 29 09:50:49 2007 UTC

  Modified files:              
    /php-src/ext/mysqli mysqli_api.c 
  Log:
  - Fixed invalid handling of float value passed to an integer field on 64bit 
machine
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.153&r2=1.154&diff_format=u
Index: php-src/ext/mysqli/mysqli_api.c
diff -u php-src/ext/mysqli/mysqli_api.c:1.153 
php-src/ext/mysqli/mysqli_api.c:1.154
--- php-src/ext/mysqli/mysqli_api.c:1.153       Wed Oct 17 08:22:01 2007
+++ php-src/ext/mysqli/mysqli_api.c     Mon Oct 29 09:50:49 2007
@@ -17,7 +17,7 @@
   |          Ulf Wendel <[EMAIL PROTECTED]>                                    
 |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_api.c,v 1.153 2007/10/17 08:22:01 tony2001 Exp $ 
+  $Id: mysqli_api.c,v 1.154 2007/10/29 09:50:49 jani Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -105,7 +105,11 @@
                                break;
 
                        case 'i': /* Integer */
-                               bind[ofs].buffer_type = (sizeof(long) > 4) ? 
MYSQL_TYPE_LONGLONG : MYSQL_TYPE_LONG;
+#if SIZEOF_LONG==8
+                               bind[ofs].buffer_type = MYSQL_TYPE_LONGLONG;
+#elif SIZEOF_LONG==4
+                               bind[ofs].buffer_type = MYSQL_TYPE_LONG;
+#endif
                                bind[ofs].buffer = &Z_LVAL_PP(args[i]);
                                bind[ofs].is_null = &stmt->param.is_null[ofs];
                                break;
@@ -735,6 +739,7 @@
                                                
convert_to_double_ex(&stmt->param.vars[i]);
                                                stmt->stmt->params[i].buffer = 
&Z_LVAL_PP(&stmt->param.vars[i]);
                                                break;
+                                       case MYSQL_TYPE_LONGLONG:
                                        case MYSQL_TYPE_LONG:
                                                
convert_to_long_ex(&stmt->param.vars[i]);
                                                stmt->stmt->params[i].buffer = 
&Z_LVAL_PP(&stmt->param.vars[i]);

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

Reply via email to