Martin Storsjo : msvcrt: Ignore 'N' as format length modifier for pointers , just like 'F'.
Module: wine Branch: master Commit: 1d17e8502668c1d17cd2eba73eabd93cb2f1b92c URL: http://source.winehq.org/git/wine.git/?a=commit;h=1d17e8502668c1d17cd2eba73e... Author: Martin Storsjo <martin(a)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(a)martin.st> Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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");
participants (1)
-
Alexandre Julliard