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