mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
Patch commit d9f85373e3
by moving the float_to_double function to
a header file.
This commit is contained in:
parent
e51980f4e6
commit
1933b556b9
@ -33,7 +33,7 @@
|
||||
#include "ext/standard/php_smart_str.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
#include "ext/standard/float_to_double.h"
|
||||
#include "ext/mysqlnd/mysql_float_to_double.h"
|
||||
|
||||
|
||||
#if !defined(MYSQLI_USE_MYSQLND)
|
||||
@ -1062,7 +1062,7 @@ void mysqli_stmt_fetch_libmysql(INTERNAL_FUNCTION_PARAMETERS)
|
||||
#ifndef NOT_FIXED_DEC
|
||||
# define NOT_FIXED_DEC 31
|
||||
#endif
|
||||
dval = float_to_double(*(float *)stmt->result.buf[i].val,
|
||||
dval = mysql_float_to_double(*(float *)stmt->result.buf[i].val,
|
||||
(stmt->stmt->fields[i].decimals >= NOT_FIXED_DEC) ? -1 :
|
||||
stmt->stmt->fields[i].decimals);
|
||||
} else {
|
||||
|
@ -16,11 +16,14 @@
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
#ifndef MYSQL_FLOAT_TO_DOUBLE_H
|
||||
#define MYSQL_FLOAT_TO_DOUBLE_H
|
||||
|
||||
#include "main/php.h"
|
||||
#include <float.h>
|
||||
#include "float_to_double.h"
|
||||
#include "main/snprintf.h"
|
||||
|
||||
#define MAX_BUF_LEN 255
|
||||
#define MAX_CHAR_BUF_LEN 255
|
||||
|
||||
#ifndef FLT_DIG
|
||||
# define FLT_DIG 6
|
||||
@ -33,8 +36,8 @@
|
||||
* is less than zero, then a gcvt(3) like logic is used with the significant
|
||||
* digits set to FLT_DIG i.e. 6.
|
||||
*/
|
||||
double float_to_double(float fp4, int decimals) {
|
||||
char num_buf[MAX_BUF_LEN]; /* Over allocated */
|
||||
static inline double mysql_float_to_double(float fp4, int decimals) {
|
||||
char num_buf[MAX_CHAR_BUF_LEN]; /* Over allocated */
|
||||
|
||||
if (decimals < 0) {
|
||||
php_gcvt(fp4, FLT_DIG, '.', 'e', num_buf);
|
||||
@ -53,3 +56,5 @@ double float_to_double(float fp4, int decimals) {
|
||||
* vim600: noet sw=4 ts=4 fdm=marker
|
||||
* vim<600: noet sw=4 ts=4
|
||||
*/
|
||||
|
||||
#endif /* MYSQL_FLOAT_TO_DOUBLE_H */
|
@ -24,7 +24,7 @@
|
||||
#include "mysqlnd_wireprotocol.h"
|
||||
#include "mysqlnd_priv.h"
|
||||
#include "mysqlnd_debug.h"
|
||||
#include "ext/standard/float_to_double.h"
|
||||
#include "ext/mysqlnd/mysql_float_to_double.h"
|
||||
|
||||
#define MYSQLND_SILENT
|
||||
|
||||
@ -186,7 +186,7 @@ ps_fetch_float(zval * zv, const MYSQLND_FIELD * const field, unsigned int pack_l
|
||||
# define NOT_FIXED_DEC 31
|
||||
#endif
|
||||
|
||||
dval = float_to_double(fval, (field->decimals >= NOT_FIXED_DEC) ? -1 : field->decimals);
|
||||
dval = mysql_float_to_double(fval, (field->decimals >= NOT_FIXED_DEC) ? -1 : field->decimals);
|
||||
|
||||
ZVAL_DOUBLE(zv, dval);
|
||||
DBG_VOID_RETURN;
|
||||
|
@ -603,8 +603,7 @@ PHP_NEW_EXTENSION(standard, array.c base64.c basic_functions.c browscap.c crc32.
|
||||
incomplete_class.c url_scanner_ex.c ftp_fopen_wrapper.c \
|
||||
http_fopen_wrapper.c php_fopen_wrapper.c credits.c css.c \
|
||||
var_unserializer.c ftok.c sha1.c user_filters.c uuencode.c \
|
||||
filters.c proc_open.c streamsfuncs.c http.c password.c \
|
||||
float_to_double.c)
|
||||
filters.c proc_open.c streamsfuncs.c http.c password.c)
|
||||
|
||||
PHP_ADD_MAKEFILE_FRAGMENT
|
||||
PHP_INSTALL_HEADERS([ext/standard/])
|
||||
|
@ -20,7 +20,7 @@ EXTENSION("standard", "array.c base64.c basic_functions.c browscap.c \
|
||||
url_scanner_ex.c ftp_fopen_wrapper.c http_fopen_wrapper.c \
|
||||
php_fopen_wrapper.c credits.c css.c var_unserializer.c ftok.c sha1.c \
|
||||
user_filters.c uuencode.c filters.c proc_open.c password.c \
|
||||
streamsfuncs.c http.c flock_compat.c float_to_double.c", false /* never shared */);
|
||||
streamsfuncs.c http.c flock_compat.c", false /* never shared */);
|
||||
PHP_INSTALL_HEADERS("", "ext/standard");
|
||||
if (PHP_MBREGEX != "no") {
|
||||
CHECK_HEADER_ADD_INCLUDE("oniguruma.h", "CFLAGS_STANDARD", PHP_MBREGEX + ";ext\\mbstring\\oniguruma")
|
||||
|
@ -1,35 +0,0 @@
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 2006-2014 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Keyur Govande <kgovande@gmail.com> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
#ifndef FLOAT_TO_DOUBLE_H
|
||||
#define FLOAT_TO_DOUBLE_H
|
||||
|
||||
#include "main/php.h"
|
||||
|
||||
PHPAPI double float_to_double(float fp4, int decimals);
|
||||
|
||||
#endif /* FLOAT_TO_DOUBLE_H */
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* End:
|
||||
* vim600: noet sw=4 ts=4 fdm=marker
|
||||
* vim<600: noet sw=4 ts=4
|
||||
*/
|
Loading…
Reference in New Issue
Block a user