Missing and zero precision specifiers are different. Fixes bug
#3646.
Jesse Allen
the3dfxdude at gmail.com
Wed Oct 26 09:31:16 CDT 2005
On 10/26/05, Mike McCormack <mike at codeweavers.com> wrote:
> ChangeLog:
> Missing and zero precision specifiers are different. Fixes bug #3646.
>
> dlls/msvcrt/wcs.c | 14 ++++++++------
> 1 files changed, 8 insertions(+), 6 deletions(-)
>
>
That's fixed one of the precision bugs. The other one is when the
precision is greater than approximately 40 bytes, we'll print past the
end of the buffer?
/* deal with integers and floats using libc's printf */
else if( pf_is_valid_format( flags.Format ) )
{
char fmt[20], number[40], *x = number;
if( flags.FieldLength >= sizeof number )
x = HeapAlloc( GetProcessHeap(), 0, flags.FieldLength+1 );
pf_rebuild_format_string( fmt, &flags );
if( pf_is_double_format( flags.Format ) )
sprintf( number, fmt, va_arg(valist, double) );
else
sprintf( number, fmt, va_arg(valist, int) );
More information about the wine-patches
mailing list