Alexandre Julliard : msvcrt: Fix formatting of pointers in printf.

Alexandre Julliard julliard at winehq.org
Sat Jan 3 09:11:15 CST 2009


Module: wine
Branch: master
Commit: 34f2487163790cb21b54f4eda0d9c9a71503f412
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=34f2487163790cb21b54f4eda0d9c9a71503f412

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Jan  2 21:33:33 2009 +0100

msvcrt: Fix formatting of pointers in printf.

---

 dlls/msvcrt/wcs.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 65b8c2e..927a7d9 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -678,13 +678,14 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist )
         /* output a pointer */
         else if( flags.Format == 'p' )
         {
-            char pointer[11];
+            char pointer[32];
+            void *ptr = va_arg( valist, void * );
 
             flags.PadZero = 0;
             if( flags.Alternate )
-                sprintf(pointer, "0X%08lX", va_arg(valist, long));
+                sprintf(pointer, "0X%0*lX", 2 * sizeof(ptr), (ULONG_PTR)ptr);
             else
-                sprintf(pointer, "%08lX", va_arg(valist, long));
+                sprintf(pointer, "%0*lX", 2 * sizeof(ptr), (ULONG_PTR)ptr);
             r = pf_output_format_A( out, pointer, -1, &flags );
         }
 




More information about the wine-cvs mailing list