Martin Storsjo : msvcrt: Ignore 'N' as format length modifier for pointers , just like 'F'.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Nov 4 09:40:40 CST 2015
Module: wine
Branch: master
Commit: 1d17e8502668c1d17cd2eba73eabd93cb2f1b92c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1d17e8502668c1d17cd2eba73eabd93cb2f1b92c
Author: Martin Storsjo <martin at 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 at martin.st>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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");
More information about the wine-cvs
mailing list