wez             Fri Jan 10 08:32:25 2003 EDT

  Modified files:              
    /php4/ext/standard  math.c 
  Log:
  Fix the number format fix when the number of decimal places is 0.
  # Thanks to Edin for his telepathy!
  
  
Index: php4/ext/standard/math.c
diff -u php4/ext/standard/math.c:1.100 php4/ext/standard/math.c:1.101
--- php4/ext/standard/math.c:1.100      Thu Jan  9 10:44:49 2003
+++ php4/ext/standard/math.c    Fri Jan 10 08:32:24 2003
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: math.c,v 1.100 2003/01/09 15:44:49 wez Exp $ */
+/* $Id: math.c,v 1.101 2003/01/10 13:32:24 wez Exp $ */
 
 #include "php.h"
 #include "php_math.h"
@@ -1014,7 +1014,11 @@
                integral += integral / 3;
        }
        
-       reslen = integral + 1 + dec;
+       reslen = integral;
+       
+       if (dec) {
+               reslen += 1 + dec;
+       }
 
        /* add a byte for minus sign */
        if (is_negative) {
@@ -1034,21 +1038,24 @@
                int topad = declen > 0 ? dec - declen : 0;
 
                /* pad with '0's */
+
                while (topad--) {
                        *t-- = '0';
                }
-                       
-               /* now copy the chars after the point */
-               memcpy(t - declen + 1, dp + 1, declen);
                
-               t -= declen;
-               s -= declen;
+               if (dp) {
+                       /* now copy the chars after the point */
+                       memcpy(t - declen + 1, dp + 1, declen);
+
+                       t -= declen;
+                       s -= declen;
+               }
 
                /* add decimal point */
                *t-- = dec_point;
                s--;
        }
-       
+
        /* copy the numbers before the decimal place, adding thousand
         * separator every three digits */
        while(s >= tmpbuf) {
@@ -1064,7 +1071,7 @@
        }
 
        efree(tmpbuf);
-
+       
        return resbuf;
 }
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to