26 #define _CRT_NON_CONFORMING_SWPRINTFS 43 static const unsigned __inf_bytes = 0x7f800000;
44 return *(
const float *)&__inf_bytes;
46 #define INFINITY __port_infinity() 50 static const unsigned __nan_bytes = 0x7fc00000;
51 return *(
const float *)&__nan_bytes;
53 #define NAN __port_nan() 59 static const unsigned __ind_bytes = 0xffc00000;
60 return *(
const float *)&__ind_bytes;
62 #define IND __port_ind() 74 static unsigned int (
__cdecl *p__set_output_format)(
unsigned int);
113 double pnumber=789456123;
115 WCHAR wide[] = {
'w',
'i',
'd',
'e',0};
121 ok(
r==23,
"return count wrong\n");
126 ok(
r==23,
"return count wrong\n");
131 ok(
r==23,
"return count wrong\n");
136 ok(
r==7,
"return count wrong\n");
141 ok(
r==11,
"return count wrong\n");
236 ok(
r==0,
".0I64d failed: '%s'\n",
buffer);
260 ok(!
strcmp(
buffer,
" 0018446744073709551615") &&
r==25,
"#+25.22I64u conversion failed: '%s'\n",
buffer);
300 ok(
r == 1 ||
r == 11,
"return count wrong %d\n",
r);
309 ok(
r==1,
"return count wrong\n");
314 ok(
r==3,
"return count wrong\n");
331 ok(
r==1,
"return count wrong\n");
336 ok(
r==2,
"return count wrong\n");
341 ok(
r==2,
"return count wrong\n");
346 ok(
r==2,
"return count wrong\n");
351 ok(
r==4,
"return count wrong\n");
356 ok(
r==4,
"return count wrong\n");
361 ok(
r==4,
"return count wrong\n");
366 ok(
r==12,
"return count wrong\n");
370 ok(
r==12,
"return count wrong\n");
375 ok(
r==10,
"return count wrong\n");
379 ok(
r==8,
"return count wrong\n");
384 ok(
r==8,
"return count wrong\n");
388 ok(
r==8,
"return count wrong\n");
393 ok(
r==3,
"return count wrong\n");
397 ok(
r==0,
"return count wrong\n");
402 ok(
r==8,
"return count wrong\n");
407 ok(
r==2,
"return count wrong\n");
411 ok(
r==1,
"return count wrong\n");
413 if (
sizeof(
void *) == 8)
418 ok(
r==16,
"return count wrong\n");
422 ok(!
strcmp(
buffer,
" 0X0000000000000039"),
"Pointer formatted incorrectly\n");
423 ok(
r==20,
"return count wrong\n");
428 ok(
r==16,
"return count wrong\n");
433 ok(
r==16,
"return count wrong\n");
437 ok(!
strcmp(
buffer,
"0X0000000000000039 "),
"Pointer formatted incorrectly\n");
438 ok(
r==20,
"return count wrong\n");
443 ok(
r==16,
"return count wrong\n");
450 ok(
r==8,
"return count wrong\n");
454 ok(!
strcmp(
buffer,
" 0X00000039"),
"Pointer formatted incorrectly\n");
455 ok(
r==12,
"return count wrong\n");
460 ok(
r==8,
"return count wrong\n");
465 ok(
r==8,
"return count wrong\n");
469 ok(!
strcmp(
buffer,
"0X00000039 "),
"Pointer formatted incorrectly\n");
470 ok(
r==12,
"return count wrong\n");
475 ok(
r==8,
"return count wrong\n");
481 ok(
r==4,
"return count wrong\n");
486 ok(
r==1,
"return count wrong\n");
491 ok(
r==1,
"return count wrong\n");
496 ok(
r==5,
"return count wrong\n");
501 ok(
r==5,
"return count wrong\n");
506 ok(
r==4,
"return count wrong\n");
511 ok(
r==10,
"return count wrong\n");
516 ok(
r==10,
"return count wrong\n");
521 ok(
r==4,
"return count wrong\n");
526 ok(
r==2,
"return count wrong\n");
531 ok(
r==2,
"return count wrong\n");
536 ok(
r==4,
"return count wrong\n");
541 ok(
r==8,
"return count wrong\n");
546 ok(
r==1,
"return count wrong\n");
551 ok(
r==3,
"return count wrong\n");
556 ok(
r==4,
"return count wrong\n");
561 ok(
r==0,
"return count wrong\n");
563 format =
"%j%k%m%q%r%t%v%y%z";
566 ok(
r==9,
"return count wrong\n");
575 ok(
x == 0,
"should not write to x: %d\n",
x);
579 ok(
x == 4,
"should write to x: %d\n",
x);
581 ok(
r==4,
"return count wrong: %d\n",
r);
587 ok(
r==1,
"return count wrong\n");
592 ok(
r==6,
"return count wrong\n");
597 ok(
r==8,
"return count wrong\n");
602 ok(
r==1,
"return count wrong\n");
607 ok(
r==11,
"return count wrong\n");
612 ok(
r==12,
"return count wrong\n");
617 ok(
r==14,
"return count wrong\n");
622 ok(
r==12,
"return count wrong\n");
627 ok(
r==12,
"return count wrong\n");
632 ok(
r==3,
"return count wrong\n");
637 ok(
r==2,
"return count wrong\n");
642 ok(
r==1,
"return count wrong\n");
647 ok(
r==2,
"return count wrong\n");
652 ok(
r==2,
"return count wrong\n");
656 if (
sizeof(
void *) == 8)
659 ok(
r==16,
"return count wrong\n");
664 ok(
r==8,
"return count wrong\n");
670 ok(
r==6,
"return count wrong\n");
675 ok(
r==4,
"return count wrong\n");
680 ok(
r==10,
"return count wrong\n");
685 ok(
r==0,
"return count wrong\n");
690 ok(
r==0,
"return count wrong\n");
695 ok(
r==1,
"return count wrong\n");
700 ok(
r==1,
"return count wrong\n");
705 ok(
r==0,
"return count wrong\n");
710 ok(
r==0,
"return count wrong\n");
715 ok(
r==1,
"return count wrong\n");
720 ok(
r==3,
"return count wrong\n");
725 ok(
r==2,
"return count wrong\n");
739 ok(
r==9,
"r = %d\n",
r);
742 ok(
r==8,
"r = %d\n",
r);
745 ok(
r==8,
"r = %d\n",
r);
750 ok(
r==14,
"r = %d\n",
r);
753 ok(
r==13,
"r = %d\n",
r);
756 ok(
r==13,
"r = %d\n",
r);
761 ok(
r==7,
"r = %d\n",
r);
764 ok(
r==7,
"r = %d\n",
r);
767 ok(
r==6,
"r = %d\n",
r);
772 ok(
r==10,
"r = %d\n",
r);
775 ok(
r==10,
"r = %d\n",
r);
778 ok(
r==10,
"r = %d\n",
r);
783 ok(
r==1,
"r = %d\n",
r);
786 ok(
r==1,
"r = %d\n",
r);
791 ok(
r==1,
"r = %d\n",
r);
794 ok(
r==0,
"r = %d\n",
r);
799 ok(
r==2,
"r = %d\n",
r);
809 win_skip(
"Japanese_Japan.932 locale not available\n");
815 ok(
r==1,
"r = %d\n",
r);
820 ok(
r==2,
"r = %d\n",
r);
825 ok(
r==14,
"r = %d\n",
r);
834 const wchar_t I64d[] = {
'%',
'I',
'6',
'4',
'd',0};
835 double pnumber=789456123;
836 const wchar_t TwentyThreePoint15e[]= {
'%',
'+',
'#',
'2',
'3',
'.',
'1',
'5',
'e',0};
837 const wchar_t e008[] = {
'e',
'+',
'0',
'0',
'8',0};
838 const wchar_t string_w[] = {
's',
't',
'r',
'i',
'n',
'g',0};
839 const char string[] =
"string";
840 const wchar_t S[]={
'%',
'S',0};
841 const wchar_t hs[] = {
'%',
'h',
's', 0};
855 struct snprintf_test {
860 const struct snprintf_test
tests[] = {{
"short", 5},
865 const int bufsiz =
sizeof buffer;
872 const int valid =
n < 0 ? bufsiz : (
n == bufsiz ?
n :
n+1);
874 ok (
n ==
expect,
"\"%s\": expected %d, returned %d\n",
883 static const char file_name[] =
"fprintf.tst";
884 static const WCHAR utf16_test[] = {
'u',
'n',
'i',
'c',
'o',
'd',
'e',
'\n',0};
893 ok(
ret == 12,
"ftell returned %d\n",
ret);
898 ok(
ret == 26,
"ftell returned %d\n",
ret);
903 ok(
ret == 42,
"ftell returned %d\n",
ret);
911 ok(
ret == 12,
"ftell returned %d\n",
ret);
933 ok(
ret == 13,
"ftell returned %d\n",
ret);
938 ok(
ret == 28,
"ftell returned %d\n",
ret);
943 ok(
ret == 37,
"ftell returned %d\n",
ret);
951 ok(
ret == 13,
"ftell returned %d\n",
ret);
976 ok( -3 ==
dec,
"dec wrong %d\n",
dec);
977 ok( 0 ==
sign,
"sign wrong\n");
981 ok( -3 ==
dec,
"dec wrong %d\n",
dec);
982 ok( 0 ==
sign,
"sign wrong\n");
986 ok( -3 ==
dec,
"dec wrong %d\n",
dec);
987 ok( 0 ==
sign,
"sign wrong\n");
992 ok( 3 ==
dec,
"dec wrong %d\n",
dec);
993 ok( 1 ==
sign,
"sign wrong\n");
997 ok( 3 ==
dec,
"dec wrong\n");
998 ok( 0 ==
sign,
"sign wrong\n");
1003 ok( 0 ==
dec,
"dec wrong %d\n",
dec);
1004 ok( 0 ==
sign,
"sign wrong\n");
1008 ok( 0 ==
dec,
"dec wrong %d\n",
dec);
1009 ok( 0 ==
sign,
"sign wrong\n");
1013 ok( 0 ==
dec,
"dec wrong %d\n",
dec);
1014 ok( 0 ==
sign,
"sign wrong\n");
1019 ok( 3 ==
dec,
"dec wrong %d\n",
dec);
1020 ok( 1 ==
sign,
"sign wrong\n");
1024 ok( 3 ==
dec,
"dec wrong %d\n",
dec);
1025 ok( 1 ==
sign,
"sign wrong\n");
1029 ok( 3 ==
dec,
"dec wrong %d\n",
dec);
1030 ok( 1 ==
sign,
"sign wrong\n");
1034 ok( 3 ==
dec,
"dec wrong %d\n",
dec);
1035 ok( 1 ==
sign,
"sign wrong\n");
1040 ok( 3 ==
dec,
"dec wrong %d\n",
dec);
1041 ok( 0 ==
sign,
"sign wrong\n");
1046 ok( -1 ==
dec,
"dec wrong %d\n",
dec);
1047 ok( 0 ==
sign,
"sign wrong\n");
1051 ok( -2 ==
dec,
"dec wrong %d\n",
dec);
1052 ok( 0 ==
sign,
"sign wrong\n");
1056 ok( 0 ==
dec,
"dec wrong %d\n",
dec);
1057 ok( 0 ==
sign,
"sign wrong\n");
1061 ok( 1 ==
dec,
"dec wrong %d\n",
dec);
1062 ok( 0 ==
sign,
"sign wrong\n");
1076 { 45.0, 2,
"45",
"4500", 2, 2, 0 },
1078 { 0.0001, 1,
"1",
"", -3, -3, 0 },
1079 { 0.0001, 10,
"1000000000",
"1000000", -3, -3, 0 },
1081 { -111.0001, 5,
"11100",
"11100010", 3, 3, 1 },
1082 { 111.0001, 5,
"11100",
"11100010", 3, 3, 0 },
1084 { 3333.3, 2,
"33",
"333330", 4, 4, 0 },
1085 {999999999999.9, 3,
"100",
"999999999999900", 13, 12, 0 },
1087 { 0.0, 5,
"00000",
"00000", 0, 0, 0 },
1088 { 0.0, 0,
"",
"", 0, 0, 0 },
1089 { 0.0, -1,
"",
"", 0, 0, 0 },
1091 { -123.0001, 0,
"",
"123", 3, 3, 1 },
1092 { -123.0001, -1,
"",
"12", 3, 3, 1 },
1093 { -123.0001, -2,
"",
"1", 3, 3, 1 },
1094 { -123.0001, -3,
"",
"", 3, 3, 1 },
1096 { 99.99, 1,
"1",
"1000", 3, 3, 0 },
1098 { 0.0063, 2,
"63",
"1", -2, -1, 0 },
1099 { 0.0063, 3,
"630",
"6", -2, -2, 0 },
1100 { 0.09999999996, 2,
"10",
"10", 0, 0, 0 },
1101 { 0.6, 1,
"6",
"6", 0, 0, 0 },
1102 { 0.6, 0,
"",
"1", 1, 1, 0 },
1103 { 0.4, 0,
"",
"", 0, 0, 0 },
1104 { 0.49, 0,
"",
"", 0, 0, 0 },
1105 { 0.51, 0,
"",
"1", 1, 1, 0 },
1107 { 1.0, 30,
"100000000000000000000000000000",
1108 "1000000000000000000000000000000", 1, 1, 0},
1109 { 123456789012345678901.0, 30,
"123456789012345680000000000000",
1110 "123456789012345680000000000000000000000000000000000", 21, 21, 0},
1127 "_ecvt() bad return, got \n'%s' expected \n'%s'\n",
str,
1130 "_ecvt() decimal point wrong, got %d expected %d\n",
decpt,
1133 "_ecvt() sign wrong, got %d expected %d\n",
sign,
1143 "_fcvt() bad return, got \n'%s' expected \n'%s'\n",
str,
1146 "_fcvt() decimal point wrong, got %d expected %d\n",
decpt,
1149 "_fcvt() sign wrong, got %d expected %d\n",
sign,
1159 ok(
err == 0,
"_ecvt_s() failed with error code %d\n",
err);
1161 "_ecvt_s() bad return, got \n'%s' expected \n'%s'\n",
str,
1164 "_ecvt_s() decimal point wrong, got %d expected %d\n",
decpt,
1167 "_ecvt_s() sign wrong, got %d expected %d\n",
sign,
1173 win_skip(
"_ecvt_s not available\n");
1182 err = p__fcvt_s(
NULL, 0, 0.0, 0, &
i, &
i);
1185 err = p__fcvt_s(
str, 0, 0.0, 0, &
i, &
i);
1190 err = p__fcvt_s(
str, -1, 0.0, 0, &
i, &
i);
1191 ok(
err == 0,
"got %d, expected 0\n",
err);
1192 ok(
str[0] == 0,
"got %c, expected 0\n",
str[0]);
1193 ok(
str[1] == 0,
"got %c, expected 0\n",
str[1]);
1204 ok(
err == 0,
"_fcvt_s() failed with error code %d\n",
err);
1206 "_fcvt_s() bad return, got '%s' expected '%s'. test %d\n",
str,
1209 "_fcvt_s() decimal point wrong, got %d expected %d\n",
decpt,
1212 "_fcvt_s() sign wrong, got %d expected %d\n",
sign,
1218 win_skip(
"_fcvt_s not available\n");
1233 const wchar_t format[] = {
'%',
'w',
's',
'%',
'w',
's',
'%',
'w',
's',0};
1234 const wchar_t one[] = {
'o',
'n',
'e',0};
1235 const wchar_t two[] = {
't',
'w',
'o',0};
1236 const wchar_t three[] = {
't',
'h',
'r',
'e',
'e',0};
1244 ok(
ret == 11,
"got %d expected 11\n",
ret );
1246 ok( !
strcmp(
buf,
"onetwothree"),
"got %s expected 'onetwothree'\n",
buf );
1249 ok(
ret == -1,
"got %d, expected -1\n",
ret );
1317 const wchar_t format[] = {
'%',
's',
' ',
'%',
'd',0};
1318 const wchar_t number[] = {
'n',
'u',
'm',
'b',
'e',
'r',0};
1319 const wchar_t out[] = {
'n',
'u',
'm',
'b',
'e',
'r',
' ',
'1',
'2',
'3',0};
1324 if (!p_vswprintf || !p__vswprintf || !p__vswprintf_l ||!p__vswprintf_c
1325 || !p__vswprintf_c_l || !p__vswprintf_p_l)
1327 win_skip(
"_vswprintf or vswprintf not available\n");
1332 ok(
ret == 10,
"got %d, expected 10\n",
ret);
1337 ok(
ret == 10,
"got %d, expected 10\n",
ret);
1342 ok(
ret == 10,
"got %d, expected 10\n",
ret);
1347 ok(
ret == 10,
"got %d, expected 10\n",
ret);
1352 ok(
ret == 10,
"got %d, expected 10\n",
ret);
1357 ok(
ret == 10,
"got %d, expected 10\n",
ret);
1377 win_skip(
"_vscprintf not available\n");
1382 ok(
ret == 8,
"got %d expected 8\n",
ret );
1397 const wchar_t format[] = {
'%',
's',
' ',
'%',
'd',0};
1398 const wchar_t number[] = {
'n',
'u',
'm',
'b',
'e',
'r',0};
1404 win_skip(
"_vscwprintf not available\n");
1409 ok(
ret == 8,
"got %d expected 8\n",
ret );
1425 const wchar_t format[] = {
'A',
'B',
'%',
'u',
'C',0 };
1426 const wchar_t out7[] = {
'A',
'B',
'1',
'2',
'3',
'C',0 };
1427 const wchar_t out6[] = {
'A',
'B',
'1',
'2',
'3',0 };
1428 const wchar_t out2[] = {
'A',0 };
1429 const wchar_t out1[] = { 0 };
1430 wchar_t buffer[14] = { 0 };
1433 if (!p__vsnwprintf_s)
1435 win_skip(
"_vsnwprintf_s not available\n");
1443 ok(
exp == got,
"length wrong, expect=%d, got=%d\n",
exp, got);
1447 ok(
exp == got,
"length wrong, expect=%d, got=%d\n",
exp, got);
1451 ok(
exp == got,
"length wrong, expect=%d, got=%d\n",
exp, got);
1458 ok(
exp == got,
"length wrong, expect=%d, got=%d\n",
exp, got);
1462 ok(
exp == got,
"length wrong, expect=%d, got=%d\n",
exp, got);
1466 ok(
exp == got,
"length wrong, expect=%d, got=%d\n",
exp, got);
1486 if(!p__vsprintf_p) {
1487 win_skip(
"vsprintf_p not available\n");
1517 if (!p__get_output_format || !p__set_output_format)
1519 win_skip(
"_get_output_format or _set_output_format is not available\n");
1523 ret = p__get_output_format();
1526 c = p_sprintf(
buf,
"%E", 1.23);
1527 ok(
c == 13,
"c = %d\n",
c);
1533 c = p_sprintf(
buf,
"%E", 1.23);
1534 ok(
c == 12,
"c = %d\n",
c);
1537 ret = p__get_output_format();
static size_t double int int int * sign
static int WINAPIV vswprintf_wrapper(wchar_t *str, const wchar_t *format,...)
_Check_return_ _CRTIMP int __cdecl fscanf(_Inout_ FILE *_File, _In_z_ _Scanf_format_string_ const char *_Format,...)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define WideCharToMultiByte
static static const char __ms_va_list
static void test_xcvt(void)
static float __port_ind(void)
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
GLdouble GLdouble GLdouble r
char * wine_dbgstr_w(const wchar_t *wstr)
static struct test_info tests[]
GLuint GLuint GLsizei count
static void test_vscprintf(void)
GLint GLint GLint GLint GLint x
ios_base &_STLP_CALL dec(ios_base &__s)
static int WINAPIV _vswprintf_c_l_wrapper(wchar_t *str, size_t size, const wchar_t *format, void *locale,...)
static void test_snprintf(void)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
static void test_sprintf(void)
GLenum GLuint GLenum GLsizei const GLchar * buf
static size_t size_t const wchar_t * format
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
static size_t double number
_Check_return_opt_ _CRTIMP int __cdecl fwprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const wchar_t *_Format,...)
static size_t double int int * decpt
static int WINAPIV _vswprintf_c_wrapper(wchar_t *str, size_t size, const wchar_t *format,...)
static int WINAPIV _vscprintf_wrapper(const char *format,...)
static size_t double int ndigits
static void test_fcvt(void)
_Check_return_ _CRTIMP char *__cdecl _fcvt(_In_ double _Val, _In_ int _NumOfDec, _Out_ int *_PtDec, _Out_ int *_PtSign)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
static int WINAPIV _vswprintf_l_wrapper(wchar_t *str, const wchar_t *format, void *locale,...)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
static PEXPLICIT_ACCESSW *static HMODULE hmod
static int(__cdecl *p__vscprintf)(const char *format
static int WINAPIV _vswprintf_wrapper(wchar_t *str, const wchar_t *format,...)
int __cdecl printf(const char *format,...)
static void test_fprintf(void)
static float __port_nan(void)
static const wchar_t void * locale
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_opt_ _CRTIMP char *__cdecl fgets(_Out_writes_z_(_MaxCount) char *_Buf, _In_ int _MaxCount, _Inout_ FILE *_File)
_CRTIMP int __cdecl _vsnwprintf(wchar_t *_Dest, size_t _Count, const wchar_t *_Format, va_list _Args)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static int WINAPIV _vscwprintf_wrapper(const wchar_t *format,...)
static void test__get_output_format(void)
static int WINAPIV _vsnwprintf_wrapper(wchar_t *str, size_t len, const wchar_t *format,...)
static int WINAPIV _vsprintf_p_wrapper(char *str, size_t sizeOfBuffer, const char *format,...)
#define expect(expected, got)
static int WINAPIV _vsnwprintf_s_wrapper(wchar_t *str, size_t sizeOfBuffer, size_t count, const wchar_t *format,...)
#define __ms_va_end(list)
static void test_vsprintf_p(void)
static void test_vswprintf(void)
static void test_vsnwprintf(void)
static size_t size_t count
#define __ms_va_start(list, arg)
char * strcpy(char *DstString, const char *SrcString)
static struct @1664 test_cvt_testcases[]
_Check_return_ _CRTIMP long __cdecl ftell(_Inout_ FILE *_File)
int strcmp(const char *String1, const char *String2)
static void test_vscwprintf(void)
#define GetProcAddress(x, y)
static void test_swprintf(void)
static __ms_va_list valist
static float __port_infinity(void)
_Check_return_ _CRTIMP char *__cdecl _ecvt(_In_ double _Val, _In_ int _NumOfDigits, _Out_ int *_PtDec, _Out_ int *_PtSign)
static void test_vsnwprintf_s(void)
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static int WINAPIV _vswprintf_p_l_wrapper(wchar_t *str, size_t size, const wchar_t *format, void *locale,...)
static size_t sizeOfBuffer
#define _TWO_DIGIT_EXPONENT