jani Mon Oct 29 09:51:08 2007 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/mysqli mysqli_api.c
Log:
MFH:- 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.118.2.22.2.16.2.6&r2=1.118.2.22.2.16.2.7&diff_format=u
Index: php-src/ext/mysqli/mysqli_api.c
diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.16.2.6
php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.16.2.7
--- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.16.2.6 Wed Oct 17 08:19:07 2007
+++ php-src/ext/mysqli/mysqli_api.c Mon Oct 29 09:51:08 2007
@@ -17,7 +17,7 @@
| Ulf Wendel <[EMAIL PROTECTED]>
|
+----------------------------------------------------------------------+
- $Id: mysqli_api.c,v 1.118.2.22.2.16.2.6 2007/10/17 08:19:07 tony2001 Exp $
+ $Id: mysqli_api.c,v 1.118.2.22.2.16.2.7 2007/10/29 09:51:08 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;
@@ -719,6 +723,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