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

Reply via email to