I have reported this as a bug in the libc6 package but I think it is important enough to warn people on this list also. It appears that the ecvt function in libc6 version 2.0.3-4 is producing incorrect results. A test program shown below produces different results when compiled against libc6 and against libc5. According to the manual page for ecvt the results from the libc5 version are the correct results.
bash-2.00$ cat ecvt_test.c #include <stdio.h> #include <stdlib.h> void main(int argc, char **argv) { int decpt, sign; char * result; result = ecvt((double) 1234.567, (size_t) 7, &decpt, &sign); printf("result is %s, decpt is %d, sign is %d\n", result, decpt, sign); result = ecvt((double) -987.654321, (size_t) 7, &decpt, &sign); printf("result is %s, decpt is %d, sign is %d\n", result, decpt, sign); result = ecvt((double) 0, (size_t) 7, &decpt, &sign); printf("result is %s, decpt is %d, sign is %d\n", result, decpt, sign); } bash-2.00$ /usr/bin/gcc ecvt_test.c -o ecvt_test_libc6 bash-2.00$ ldd ecvt_test_libc6 libc.so.6 => /lib/libc.so.6 (0x4000f000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) bash-2.00$ /usr/i486-linuxlibc1/bin/gcc ecvt_test.c -o ecvt_test_libc5 bash-2.00$ ldd ecvt_test_libc5 libc.so.5 => /lib/libc.so.5 (0x4000b000) bash-2.00$ ecvt_test_libc5 result is 1234567, decpt is 4, sign is 0 result is 9876543, decpt is 3, sign is 1 result is 0000000, decpt is 0, sign is 0 bash-2.00$ ecvt_test_libc6 result is 11234.567, decpt is 4, sign is 0 result is 9987.6543, decpt is 3, sign is 1 result is 00.000000, decpt is 1, sign is 0 -- Douglas Bates [EMAIL PROTECTED] Statistics Department 608/262-2598 University of Wisconsin - Madison http://www.stat.wisc.edu/~bates/ -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .