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