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