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