| Anonymous | Login | Signup for a new account | 11-10-2008 10:52 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0000539 | [uClibc] Stdio | minor | always | 11-10-05 11:11 | 06-02-08 20:45 | ||||
| Reporter | dg6nee | View Status | public | ||||||
| Assigned To | mjn3 | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | 0.9.28 | ||||||
| Summary | 0000539: printf & leading zeroes | ||||||||
| Description |
There is a bug when you use a compiler that packs structures/bitfields and allows entries with less than 32 bit. See include/printf.h, there is a bitfield that has only 12 bits. Our gcc packs this into a 16 bit unsigned short. On the other hand the same struct printf_info uses an unsigned int (32 bit!) for the same data -> this does of course not work. I attached a patch that fixes this by adding the missing padding bits. |
||||||||
| Additional Information |
example for reproducing the error on a little endian machine / wchar mode: wchar buffer[64]; double value = 123456800.0; snwprintf(buffer, 64, "%+022.10lf"L, value); result was : " 123456800.0000000000 expected : "00123456800.0000000000 |
||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |