From: Ilia Alshanetsky Date: Tue, 14 Dec 2004 00:40:01 +0000 (+0000) Subject: MFH: Fixed bug #28228 (NULL decimal separator is not being handled correctly). X-Git-Tag: php-4.3.10~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6cd0a77372e20f88034d3ce1f0179a94e8311821;p=php MFH: Fixed bug #28228 (NULL decimal separator is not being handled correctly). --- diff --git a/NEWS b/NEWS index 45c9ff166c..e3e0d27bc1 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP 4 NEWS - Fixed bug #31024 (Crash in fgetcsv() with negative length). (Ilia) - Fixed bug #31019 (Logic error mssql library checking). (Frank) - Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre) +- Fixed bug #28228 (NULL decimal separator is not being handled correctly). + (Ilia) 07 Dec 2004, Version 4.3.10RC2 - Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia) diff --git a/ext/standard/math.c b/ext/standard/math.c index 8deab24685..320518ad37 100644 --- a/ext/standard/math.c +++ b/ext/standard/math.c @@ -1136,17 +1136,22 @@ PHP_FUNCTION(number_format) } 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;