%Fp printf format specifier

Jesse Allen the3dfxdude at gmail.com
Wed Mar 2 13:09:47 CST 2005

On Wed, 2 Mar 2005 11:51:57 -0700, Jesse Allen <the3dfxdude at gmail.com> wrote:
> Right now in current CVS, our *printf will handle any strings.  For
> any type numbers (except %n), they are forwarded to libc's printf by

Oops, we handle %p differently too:
        /* output a pointer */
        else if( flags.Format == 'p' )
            char pointer[10];

            flags.PadZero = 0;
            if( flags.Alternate )
                sprintf(pointer, "0X%08lX", va_arg(valist, long));
                sprintf(pointer, "%08lX", va_arg(valist, long));
            r = pf_output_format_A( out, pointer, -1, &flags );

I don't think it will allow an 'F' to get stuck in an sprintf call. 
If it did, then yeah, calling out libc's sprintf would mess it up.  Do
we have a test case for %Fp?  Uwe, what version of wine do you got?  I
think only an older version would pass it on.

More information about the wine-devel mailing list