Module: wine Branch: master Commit: 1d17e8502668c1d17cd2eba73eabd93cb2f1b92c URL: http://source.winehq.org/git/wine.git/?a=commit;h=1d17e8502668c1d17cd2eba73e...
Author: Martin Storsjo martin@martin.st Date: Tue Nov 3 20:40:37 2015 +0200
msvcrt: Ignore 'N' as format length modifier for pointers, just like 'F'.
Signed-off-by: Martin Storsjo martin@martin.st Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/printf.h | 2 +- dlls/msvcrt/tests/printf.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcrt/printf.h b/dlls/msvcrt/printf.h index 91b27ad..a724404 100644 --- a/dlls/msvcrt/printf.h +++ b/dlls/msvcrt/printf.h @@ -461,7 +461,7 @@ int FUNC_NAME(pf_printf)(FUNC_NAME(puts_clbk) pf_puts, void *puts_ctx, const API p++; } else if(*p == 'w') flags.WideString = *p++; - else if(*p == 'F') + else if(*p == 'F' || *p == 'N') p++; /* ignore */ else break; diff --git a/dlls/msvcrt/tests/printf.c b/dlls/msvcrt/tests/printf.c index 2de515d..c5bc102 100644 --- a/dlls/msvcrt/tests/printf.c +++ b/dlls/msvcrt/tests/printf.c @@ -413,6 +413,11 @@ static void test_sprintf( void ) ok(!strcmp(buffer,"0000000000000039"),"Pointer formatted incorrectly "%s"\n",buffer); ok( r==16, "return count wrong\n");
+ format = "%Np"; + r = sprintf(buffer,format,(void *)57); + ok(!strcmp(buffer,"0000000000000039"),"Pointer formatted incorrectly "%s"\n",buffer); + ok( r==16, "return count wrong\n"); + format = "%#-020p"; r = sprintf(buffer,format,(void *)57); ok(!strcmp(buffer,"0X0000000000000039 "),"Pointer formatted incorrectly\n"); @@ -435,6 +440,11 @@ static void test_sprintf( void ) ok(!strcmp(buffer,"00000039"),"Pointer formatted incorrectly "%s"\n",buffer); ok( r==8, "return count wrong\n");
+ format = "%Np"; + r = sprintf(buffer,format,(void *)57); + ok(!strcmp(buffer,"00000039"),"Pointer formatted incorrectly "%s"\n",buffer); + ok( r==8, "return count wrong\n"); + format = "%#-012p"; r = sprintf(buffer,format,(void *)57); ok(!strcmp(buffer,"0X00000039 "),"Pointer formatted incorrectly\n"); @@ -670,6 +680,11 @@ static void test_sprintf( void ) ok(!strcmp(buffer,""), "failed\n"); ok( r==0, "return count wrong\n");
+ format = "%N"; + r = sprintf(buffer, format,-1); + ok(!strcmp(buffer,""), "failed\n"); + ok( r==0, "return count wrong\n"); + format = "%H"; r = sprintf(buffer, format,-1); ok(!strcmp(buffer,"H"), "failed\n");