lkml.org 
[lkml]   [2009]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: printk %0*X is broken.
On Wed, May 06, 2009 at 04:30:21PM +0800, Li Zefan wrote:
> Ingo Molnar wrote:
> > Cc:-ed more folks who modified lib/vsprintf.c recently.
> >
> > Ingo
> >
> > * Yinghai Lu <yinghai@kernel.org> wrote:
> >
> >> it seems someone broke
> >>
> >> printk( "%0*X\n", width, x);
> >>
> >> looks like 0 is dumped.
> >>
> >> YH
> >>
> >> [ 0.000000] MTRR variable ranges enabled:
> >> [ 0.000000] 0 base 0 00000000 mask FF0 00000000 write-back
> >> [ 0.000000] 1 base 10 00000000 mask FFF 80000000 write-back
> >> [ 0.000000] 2 base 0 80000000 mask FFF 80000000 uncachable
> >> [ 0.000000] 3 base 0 7F800000 mask FFF FF800000 uncachable
> >>
>
> 2.6.30-rc4-tip, the output of my box:
>
> high_width: 1
> MTRR variable ranges enabled:
> 0 base 000000000 mask FC0000000 write-back
> 1 base 03C000000 mask FFC000000 uncachable
> 2 base 0D0000000 mask FF8000000 write-combining
>
> Is it possible that high_width is negative in your output?
> If high_width == -3, we can get exactly the same output with yours.


Indeed, a negative value given as the width will actually pad to the
right (reverse width forcing).
If you have -3, that matches the normal printf behaviour.

Yinghai, could you check please if that's the case for you?

Thanks,

Frederic.



\
 
 \ /
  Last update: 2009-05-06 18:13    [W:0.086 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site