BusyBox Bug and Patch Tracking
BusyBox
  

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  uclibc-0.9.28_include_printf.h.diff [^] (506 bytes) 11-10-05 11:11

- Relationships

- Notes
(0008054)
vda
06-02-08 20:45

Appears to be fixed already.
 

- Issue History
Date Modified Username Field Change
11-10-05 11:11 dg6nee New Issue
11-10-05 11:11 dg6nee Status new => assigned
11-10-05 11:11 dg6nee Assigned To  => uClibc
11-10-05 11:11 dg6nee File Added: uclibc-0.9.28_include_printf.h.diff
01-05-06 18:51 vapier Assigned To uClibc => mjn3
06-02-08 20:45 vda Status assigned => closed
06-02-08 20:45 vda Note Added: 0008054
06-02-08 20:45 vda Resolution open => fixed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker