From f377e4be6b97db27d58a6da96d4867cd39fa2188 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Thu, 1 Apr 2010 12:39:50 +0200 Subject: [PATCH] msvcrt: Move invalid parameter tests to msvcr90. --- dlls/msvcr90/tests/msvcr90.c | 36 ++++++++++++++++++++++++++++++++++++ dlls/msvcrt/tests/string.c | 32 -------------------------------- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/dlls/msvcr90/tests/msvcr90.c b/dlls/msvcr90/tests/msvcr90.c index 5fe00b2168d..3ff713556c4 100644 --- a/dlls/msvcr90/tests/msvcr90.c +++ b/dlls/msvcr90/tests/msvcr90.c @@ -35,6 +35,8 @@ static int *p_sys_nerr; static int* (__cdecl *p__sys_nerr)(void); static char **p_sys_errlist; static char** (__cdecl *p__sys_errlist)(void); +static __int64 (__cdecl *p_strtoi64)(const char *, char **, int); +static unsigned __int64 (__cdecl *p_strtoui64)(const char *, char **, int); int cb_called[4]; @@ -193,6 +195,37 @@ static void test_error_messages(void) ok(*p_sys_errlist == *(p__sys_errlist()), "p_sys_errlist != p__sys_errlist()\n"); } +static void test__strtoi64(void) +{ + __int64 res; + unsigned __int64 ures; + + if(!p_strtoi64 || !p_strtoui64) { + win_skip("_strtoi64 or _strtoui64 not found\n"); + return; + } + + if(!p_set_invalid_parameter_handler) { + win_skip("_set_invalid_parameter_handler not found\n"); + return; + } + + errno = 0xdeadbeef; + res = p_strtoi64(NULL, NULL, 10); + ok(res == 0, "res != 0\n"); + res = p_strtoi64("123", NULL, 1); + ok(res == 0, "res != 0\n"); + res = p_strtoi64("123", NULL, 37); + ok(res == 0, "res != 0\n"); + ures = p_strtoui64(NULL, NULL, 10); + ok(ures == 0, "res = %d\n", (int)ures); + ures = p_strtoui64("123", NULL, 1); + ok(ures == 0, "res = %d\n", (int)ures); + ures = p_strtoui64("123", NULL, 37); + ok(ures == 0, "res = %d\n", (int)ures); + ok(errno == 0xdeadbeef, "errno = %x\n", errno); +} + /* ########## */ START_TEST(msvcr90) @@ -219,8 +252,11 @@ START_TEST(msvcr90) p__sys_nerr = (void *) GetProcAddress(hcrt, "__sys_nerr"); p_sys_errlist = (void *) GetProcAddress(hcrt, "_sys_errlist"); p__sys_errlist = (void *) GetProcAddress(hcrt, "__sys_errlist"); + p_strtoi64 = (void *) GetProcAddress(hcrt, "_strtoi64"); + p_strtoui64 = (void *) GetProcAddress(hcrt, "_strtoui64"); test__initterm_e(); test__encode_pointer(); test_error_messages(); + test__strtoi64(); } diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c index a4926d969c1..c873d18edec 100644 --- a/dlls/msvcrt/tests/string.c +++ b/dlls/msvcrt/tests/string.c @@ -56,7 +56,6 @@ static int (__cdecl *p_wcsupr_s)(wchar_t *str, size_t size); static size_t (__cdecl *p_strnlen)(const char *, size_t); static __int64 (__cdecl *p_strtoi64)(const char *, char **, int); static unsigned __int64 (__cdecl *p_strtoui64)(const char *, char **, int); -static _invalid_parameter_handler *p_invalid_parameter; static int *p__mb_cur_max; static unsigned char *p_mbctype; @@ -65,17 +64,6 @@ static unsigned char *p_mbctype; HMODULE hMsvcrt; -void __cdecl test_invalid_parameter_handler(const wchar_t *expression, - const wchar_t *function, const wchar_t *file, - unsigned line, unsigned *res) -{ - ok(expression == NULL, "expression is not NULL\n"); - ok(function == NULL, "function is not NULL\n"); - ok(file == NULL, "file is not NULL\n"); - ok(line == 0, "line = %u\n", line); - ok(res == NULL, "res = %p\n", res); -} - static void test_swab( void ) { char original[] = "BADCFEHGJILKNMPORQTSVUXWZY@#"; char expected1[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ@#"; @@ -968,23 +956,6 @@ static void test__strtoi64(void) return; } - if(p_invalid_parameter) { - errno = 0xdeadbeef; - res = p_strtoi64(NULL, NULL, 10); - ok(res == 0, "res != 0\n"); - res = p_strtoi64(no1, NULL, 1); - ok(res == 0, "res != 0\n"); - res = p_strtoi64(no1, NULL, 37); - ok(res == 0, "res != 0\n"); - ures = p_strtoui64(NULL, NULL, 10); - ok(ures == 0, "res = %d\n", (int)ures); - ures = p_strtoui64(no1, NULL, 1); - ok(ures == 0, "res = %d\n", (int)ures); - ures = p_strtoui64(no1, NULL, 37); - ok(ures == 0, "res = %d\n", (int)ures); - ok(errno == 0xdeadbeef, "errno = %x\n", errno); - } - errno = 0xdeadbeef; res = p_strtoi64(no1, NULL, 10); ok(res == 31923, "res != 31923\n"); @@ -1123,9 +1094,6 @@ START_TEST(string) SET(pmemcmp,"memcmp"); SET(p_mbctype,"_mbctype"); SET(p__mb_cur_max,"__mb_cur_max"); - p_invalid_parameter = (void *)GetProcAddress( hMsvcrt,"_invalid_parameter"); - if(p_invalid_parameter) - *p_invalid_parameter = test_invalid_parameter_handler; pstrcpy_s = (void *)GetProcAddress( hMsvcrt,"strcpy_s" ); pstrcat_s = (void *)GetProcAddress( hMsvcrt,"strcat_s" ); p_mbsnbcpy_s = (void *)GetProcAddress( hMsvcrt,"_mbsnbcpy_s" );