iliaa Mon Dec 13 19:37:20 2004 EDT Modified files: /php-src/ext/standard math.c Log: Fixed bug #28228 (NULL decimal separator is not being handled correctly). http://cvs.php.net/diff.php/php-src/ext/standard/math.c?r1=1.118&r2=1.119&ty=u Index: php-src/ext/standard/math.c diff -u php-src/ext/standard/math.c:1.118 php-src/ext/standard/math.c:1.119 --- php-src/ext/standard/math.c:1.118 Mon Sep 20 18:08:06 2004 +++ php-src/ext/standard/math.c Mon Dec 13 19:37:19 2004 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: math.c,v 1.118 2004/09/20 22:08:06 wez Exp $ */ +/* $Id: math.c,v 1.119 2004/12/14 00:37:19 iliaa Exp $ */ #include "php.h" #include "php_math.h" @@ -1141,17 +1141,22 @@ } convert_to_double_ex(num); convert_to_long_ex(dec); - convert_to_string_ex(d_p); - convert_to_string_ex(t_s); - if (Z_STRLEN_PP(d_p)==1) { - dec_point=Z_STRVAL_PP(d_p)[0]; - } else if (Z_STRLEN_PP(d_p)==0) { - dec_point=0; + + if (Z_TYPE_PP(d_p) != IS_NULL) { + convert_to_string_ex(d_p); + if (Z_STRLEN_PP(d_p)==1) { + dec_point=Z_STRVAL_PP(d_p)[0]; + } else if (Z_STRLEN_PP(d_p)==0) { + dec_point=0; + } } - if (Z_STRLEN_PP(t_s)==1) { - thousand_sep=Z_STRVAL_PP(t_s)[0]; - } else if(Z_STRLEN_PP(t_s)==0) { - thousand_sep=0; + if (Z_TYPE_PP(t_s) != IS_NULL) { + convert_to_string_ex(t_s); + if (Z_STRLEN_PP(t_s)==1) { + thousand_sep=Z_STRVAL_PP(t_s)[0]; + } else if(Z_STRLEN_PP(t_s)==0) { + thousand_sep=0; + } } RETURN_STRING(_php_math_number_format(Z_DVAL_PP(num), Z_LVAL_PP(dec), dec_point, thousand_sep), 0); break;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php