mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Merge bk-internal:/home/bk/mysql-5.0-maint
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
This commit is contained in:
commit
7703b67659
4 changed files with 21 additions and 14 deletions
18
configure.in
18
configure.in
|
@ -2006,12 +2006,20 @@ case "$target" in
|
|||
;;
|
||||
esac
|
||||
|
||||
# isinf() could be a function or a macro (HPUX)
|
||||
AC_MSG_CHECKING(for isinf with <math.h>)
|
||||
# Check that isinf() is available in math.h and can be used in both C and C++
|
||||
# code
|
||||
AC_MSG_CHECKING(for isinf in <math.h>)
|
||||
AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r],
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_ISINF, [1], [isinf() macro or function]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_MSG_CHECKING(whether isinf() can be used in C++ code)
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r],
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_ISINF, [1], [isinf() macro or function]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_RESTORE,
|
||||
AC_MSG_RESULT(no))
|
||||
|
||||
CFLAGS="$ORG_CFLAGS"
|
||||
|
||||
|
|
|
@ -792,12 +792,11 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
|||
#define isnan(x) ((x) != (x))
|
||||
#endif
|
||||
|
||||
#if !defined(HAVE_ISINF)
|
||||
/* The configure check for "isinf with math.h" has failed */
|
||||
#ifdef isinf
|
||||
#undef isinf
|
||||
#endif
|
||||
#define isinf(X) (!finite(X) && !isnan(X))
|
||||
#ifdef HAVE_ISINF
|
||||
/* isinf() can be used in both C and C++ code */
|
||||
#define my_isinf(X) isinf(X)
|
||||
#else
|
||||
#define my_isinf(X) (!finite(X) && !isnan(X))
|
||||
#endif
|
||||
|
||||
/* Define missing math constants. */
|
||||
|
|
|
@ -1980,9 +1980,9 @@ double my_double_round(double value, longlong dec, bool dec_unsigned,
|
|||
tmp=(abs_dec < array_elements(log_10) ?
|
||||
log_10[abs_dec] : pow(10.0,(double) abs_dec));
|
||||
|
||||
if (dec_negative && isinf(tmp))
|
||||
if (dec_negative && my_isinf(tmp))
|
||||
tmp2= 0;
|
||||
else if (!dec_negative && isinf(value * tmp))
|
||||
else if (!dec_negative && my_isinf(value * tmp))
|
||||
tmp2= value;
|
||||
else if (truncate)
|
||||
{
|
||||
|
|
|
@ -194,7 +194,7 @@ double my_strtod(const char *str, char **end_ptr, int *error)
|
|||
done:
|
||||
*end_ptr= (char*) str; /* end of number */
|
||||
|
||||
if (overflow || isinf(result))
|
||||
if (overflow || my_isinf(result))
|
||||
{
|
||||
result= DBL_MAX;
|
||||
*error= EOVERFLOW;
|
||||
|
|
Loading…
Reference in a new issue