helly Fri Aug 8 16:23:07 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src NEWS
/php-src/main snprintf.c
Log:
Bugfix #24063
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.332 php-src/NEWS:1.1247.2.333
--- php-src/NEWS:1.1247.2.332 Fri Aug 8 09:55:06 2003
+++ php-src/NEWS Fri Aug 8 16:23:07 2003
@@ -5,6 +5,8 @@
- Fixed bug #24792 (--enable-zend-multibyte causes random segfaults with ZTS).
(fujimoto)
- Fixed bug #24909 (Bad random numbers with ZTS builds on Solaris). (Ilia)
+- Fixed bug #24063 (serialize() missing 0 after the . on scientific notation).
+ (Marcus, Ilia)
07 Aug 2003, Version 4.3.3RC3
- Fixed bug #24958 (Incorrect handling of 404s). (Ilia, Justin)
Index: php-src/main/snprintf.c
diff -u php-src/main/snprintf.c:1.17.4.7 php-src/main/snprintf.c:1.17.4.8
--- php-src/main/snprintf.c:1.17.4.7 Thu Jul 17 21:40:50 2003
+++ php-src/main/snprintf.c Fri Aug 8 16:23:07 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: snprintf.c,v 1.17.4.7 2003/07/18 01:40:50 sniper Exp $ */
+/* $Id: snprintf.c,v 1.17.4.8 2003/08/08 20:23:07 helly Exp $ */
/* ====================================================================
* Copyright (c) 1995-1998 The Apache Group. All rights reserved.
@@ -315,14 +315,12 @@
p1 = &buf[NDIG];
while (fi != 0) {
fj = modf(fi / 10, &fi);
- if (p1 > &buf[0]) {
- *--p1 = (int) ((fj + .03) * 10) + '0';
- } else {
+ if (p1 <= &buf[0]) {
mvl = NDIG - ndigits;
memmove(&buf[mvl], &buf[0], NDIG-mvl-1);
p1 += mvl;
- *--p1 = (int) ((fj + .03) * 10) + '0';
}
+ *--p1 = (int) ((fj + .03) * 10) + '0';
r2++;
}
while (p1 < &buf[NDIG])
@@ -344,9 +342,17 @@
buf[0] = '\0';
return (buf);
}
- while (p <= p1 && p < &buf[NDIG]) {
+ if (p <= p1 && p < &buf[NDIG]) {
arg = modf(arg * 10, &fj);
- *p++ = (int) fj + '0';
+ if ((int)fj==10) {
+ *p++ = '1';
+ fj = 0;
+ *decpt = ++r2;
+ }
+ while (p <= p1 && p < &buf[NDIG]) {
+ *p++ = (int) fj + '0';
+ arg = modf(arg * 10, &fj);
+ }
}
if (p1 >= &buf[NDIG]) {
buf[NDIG - 1] = '\0';
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php