mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-14 21:55:28 +00:00
msvcp110: Add tr2_sys__Copy_file_wchar implementation and test.
This commit is contained in:
parent
48891483f5
commit
66f4281aa0
|
@ -1165,8 +1165,8 @@
|
||||||
@ stub -arch=win64 ?_Close_dir@sys@tr2@std@@YAXPEAX@Z
|
@ stub -arch=win64 ?_Close_dir@sys@tr2@std@@YAXPEAX@Z
|
||||||
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z(str str long) tr2_sys__Copy_file
|
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z(str str long) tr2_sys__Copy_file
|
||||||
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z(str str long) tr2_sys__Copy_file
|
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z(str str long) tr2_sys__Copy_file
|
||||||
@ stub -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z
|
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z(wstr wstr long) tr2_sys__Copy_file_wchar
|
||||||
@ stub -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z
|
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z(wstr wstr long) tr2_sys__Copy_file_wchar
|
||||||
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPADPAD@Z(ptr) tr2_sys__Current_get
|
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPADPAD@Z(ptr) tr2_sys__Current_get
|
||||||
@ cdecl -arch=win64 ?_Current_get@sys@tr2@std@@YAPEADPEAD@Z(ptr) tr2_sys__Current_get
|
@ cdecl -arch=win64 ?_Current_get@sys@tr2@std@@YAPEADPEAD@Z(ptr) tr2_sys__Current_get
|
||||||
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPA_WPA_W@Z(ptr) tr2_sys__Current_get_wchar
|
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPA_WPA_W@Z(ptr) tr2_sys__Current_get_wchar
|
||||||
|
|
|
@ -1130,8 +1130,8 @@
|
||||||
@ stub -arch=win64 ?_Close_dir@sys@tr2@std@@YAXPEAX@Z
|
@ stub -arch=win64 ?_Close_dir@sys@tr2@std@@YAXPEAX@Z
|
||||||
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z(str str long) tr2_sys__Copy_file
|
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z(str str long) tr2_sys__Copy_file
|
||||||
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z(str str long) tr2_sys__Copy_file
|
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z(str str long) tr2_sys__Copy_file
|
||||||
@ stub -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z
|
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z(wstr wstr long) tr2_sys__Copy_file_wchar
|
||||||
@ stub -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z
|
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z(wstr wstr long) tr2_sys__Copy_file_wchar
|
||||||
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPADAAY0BAE@D@Z(ptr) tr2_sys__Current_get
|
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPADAAY0BAE@D@Z(ptr) tr2_sys__Current_get
|
||||||
@ cdecl -arch=win64 ?_Current_get@sys@tr2@std@@YAPEADAEAY0BAE@D@Z(ptr) tr2_sys__Current_get
|
@ cdecl -arch=win64 ?_Current_get@sys@tr2@std@@YAPEADAEAY0BAE@D@Z(ptr) tr2_sys__Current_get
|
||||||
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPA_WAAY0BAE@_W@Z(ptr) tr2_sys__Current_get_wchar
|
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPA_WAAY0BAE@_W@Z(ptr) tr2_sys__Current_get_wchar
|
||||||
|
|
|
@ -85,6 +85,7 @@ static int (__cdecl *p_tr2_sys__Make_dir_wchar)(WCHAR const*);
|
||||||
static MSVCP_bool (__cdecl *p_tr2_sys__Remove_dir)(char const*);
|
static MSVCP_bool (__cdecl *p_tr2_sys__Remove_dir)(char const*);
|
||||||
static MSVCP_bool (__cdecl *p_tr2_sys__Remove_dir_wchar)(WCHAR const*);
|
static MSVCP_bool (__cdecl *p_tr2_sys__Remove_dir_wchar)(WCHAR const*);
|
||||||
static int (__cdecl *p_tr2_sys__Copy_file)(char const*, char const*, MSVCP_bool);
|
static int (__cdecl *p_tr2_sys__Copy_file)(char const*, char const*, MSVCP_bool);
|
||||||
|
static int (__cdecl *p_tr2_sys__Copy_file_wchar)(WCHAR const*, WCHAR const*, MSVCP_bool);
|
||||||
static int (__cdecl *p_tr2_sys__Rename)(char const*, char const*);
|
static int (__cdecl *p_tr2_sys__Rename)(char const*, char const*);
|
||||||
static struct space_info (__cdecl *p_tr2_sys__Statvfs)(char const*);
|
static struct space_info (__cdecl *p_tr2_sys__Statvfs)(char const*);
|
||||||
static enum file_type (__cdecl *p_tr2_sys__Stat)(char const*, int *);
|
static enum file_type (__cdecl *p_tr2_sys__Stat)(char const*, int *);
|
||||||
|
@ -143,6 +144,8 @@ static BOOL init(void)
|
||||||
"?_Remove_dir@sys@tr2@std@@YA_NPEB_W@Z");
|
"?_Remove_dir@sys@tr2@std@@YA_NPEB_W@Z");
|
||||||
SET(p_tr2_sys__Copy_file,
|
SET(p_tr2_sys__Copy_file,
|
||||||
"?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z");
|
"?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z");
|
||||||
|
SET(p_tr2_sys__Copy_file_wchar,
|
||||||
|
"?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z");
|
||||||
SET(p_tr2_sys__Rename,
|
SET(p_tr2_sys__Rename,
|
||||||
"?_Rename@sys@tr2@std@@YAHPEBD0@Z");
|
"?_Rename@sys@tr2@std@@YAHPEBD0@Z");
|
||||||
SET(p_tr2_sys__Statvfs,
|
SET(p_tr2_sys__Statvfs,
|
||||||
|
@ -178,6 +181,8 @@ static BOOL init(void)
|
||||||
"?_Remove_dir@sys@tr2@std@@YA_NPB_W@Z");
|
"?_Remove_dir@sys@tr2@std@@YA_NPB_W@Z");
|
||||||
SET(p_tr2_sys__Copy_file,
|
SET(p_tr2_sys__Copy_file,
|
||||||
"?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z");
|
"?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z");
|
||||||
|
SET(p_tr2_sys__Copy_file_wchar,
|
||||||
|
"?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z");
|
||||||
SET(p_tr2_sys__Rename,
|
SET(p_tr2_sys__Rename,
|
||||||
"?_Rename@sys@tr2@std@@YAHPBD0@Z");
|
"?_Rename@sys@tr2@std@@YAHPBD0@Z");
|
||||||
SET(p_tr2_sys__Statvfs,
|
SET(p_tr2_sys__Statvfs,
|
||||||
|
@ -624,6 +629,7 @@ static void test_tr2_sys__Copy_file(void)
|
||||||
HANDLE file;
|
HANDLE file;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
LARGE_INTEGER file_size;
|
LARGE_INTEGER file_size;
|
||||||
|
WCHAR testW[] = {'f','1',0}, testW2[] = {'f','w',0};
|
||||||
struct {
|
struct {
|
||||||
char const *source;
|
char const *source;
|
||||||
char const *dest;
|
char const *dest;
|
||||||
|
@ -670,8 +676,11 @@ static void test_tr2_sys__Copy_file(void)
|
||||||
ok(p_tr2_sys__File_size(tests[i].source) == p_tr2_sys__File_size(tests[i].dest),
|
ok(p_tr2_sys__File_size(tests[i].source) == p_tr2_sys__File_size(tests[i].dest),
|
||||||
"test_tr2_sys__Copy_file(): test %d failed, two files' size are not equal\n", i+1);
|
"test_tr2_sys__Copy_file(): test %d failed, two files' size are not equal\n", i+1);
|
||||||
}
|
}
|
||||||
|
ret = p_tr2_sys__Copy_file_wchar(testW, testW2, TRUE);
|
||||||
|
ok(ret == ERROR_SUCCESS, "test_tr2_sys__Copy_file_wchar() expect ERROR_SUCCESS, got %d\n", ret);
|
||||||
|
|
||||||
ok(DeleteFileA("f1"), "expect f1 to exist\n");
|
ok(DeleteFileA("f1"), "expect f1 to exist\n");
|
||||||
|
ok(DeleteFileW(testW2), "expect fw to exist\n");
|
||||||
ok(DeleteFileA("f1_copy"), "expect f1_copy to exist\n");
|
ok(DeleteFileA("f1_copy"), "expect f1_copy to exist\n");
|
||||||
ok(DeleteFileA("tr2_test_dir/f1_copy"), "expect tr2_test_dir/f1 to exist\n");
|
ok(DeleteFileA("tr2_test_dir/f1_copy"), "expect tr2_test_dir/f1 to exist\n");
|
||||||
ret = p_tr2_sys__Remove_dir("tr2_test_dir");
|
ret = p_tr2_sys__Remove_dir("tr2_test_dir");
|
||||||
|
|
|
@ -1130,8 +1130,8 @@
|
||||||
@ stub -arch=win64 ?_Close_dir@sys@tr2@std@@YAXPEAX@Z
|
@ stub -arch=win64 ?_Close_dir@sys@tr2@std@@YAXPEAX@Z
|
||||||
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z(str str long) msvcp120.?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z
|
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z(str str long) msvcp120.?_Copy_file@sys@tr2@std@@YAHPBD0_N@Z
|
||||||
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z(str str long) msvcp120.?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z
|
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z(str str long) msvcp120.?_Copy_file@sys@tr2@std@@YAHPEBD0_N@Z
|
||||||
@ stub -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z
|
@ cdecl -arch=win32 ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z(wstr wstr long) msvcp120.?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z
|
||||||
@ stub -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z
|
@ cdecl -arch=win64 ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z(wstr wstr long) msvcp120.?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z
|
||||||
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPADAAY0BAE@D@Z(ptr) msvcp120.?_Current_get@sys@tr2@std@@YAPADAAY0BAE@D@Z
|
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPADAAY0BAE@D@Z(ptr) msvcp120.?_Current_get@sys@tr2@std@@YAPADAAY0BAE@D@Z
|
||||||
@ cdecl -arch=win64 ?_Current_get@sys@tr2@std@@YAPEADAEAY0BAE@D@Z(ptr) msvcp120.?_Current_get@sys@tr2@std@@YAPEADAEAY0BAE@D@Z
|
@ cdecl -arch=win64 ?_Current_get@sys@tr2@std@@YAPEADAEAY0BAE@D@Z(ptr) msvcp120.?_Current_get@sys@tr2@std@@YAPEADAEAY0BAE@D@Z
|
||||||
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPA_WAAY0BAE@_W@Z(ptr) msvcp120.?_Current_get@sys@tr2@std@@YAPA_WAAY0BAE@_W@Z
|
@ cdecl -arch=win32 ?_Current_get@sys@tr2@std@@YAPA_WAAY0BAE@_W@Z(ptr) msvcp120.?_Current_get@sys@tr2@std@@YAPA_WAAY0BAE@_W@Z
|
||||||
|
|
|
@ -14833,6 +14833,17 @@ MSVCP_bool __cdecl tr2_sys__Remove_dir_wchar(WCHAR const* path)
|
||||||
return RemoveDirectoryW(path) != 0;
|
return RemoveDirectoryW(path) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ?_Copy_file@sys@tr2@std@@YAHPB_W0_N@Z */
|
||||||
|
/* ?_Copy_file@sys@tr2@std@@YAHPEB_W0_N@Z */
|
||||||
|
int __cdecl tr2_sys__Copy_file_wchar(WCHAR const* source, WCHAR const* dest, MSVCP_bool fail_if_exists)
|
||||||
|
{
|
||||||
|
TRACE("(%s %s %x)\n", debugstr_w(source), debugstr_w(dest), fail_if_exists);
|
||||||
|
|
||||||
|
if(CopyFileW(source, dest, fail_if_exists))
|
||||||
|
return ERROR_SUCCESS;
|
||||||
|
return GetLastError();
|
||||||
|
}
|
||||||
|
|
||||||
/* ??1_Winit@std@@QAE@XZ */
|
/* ??1_Winit@std@@QAE@XZ */
|
||||||
/* ??1_Winit@std@@QAE@XZ */
|
/* ??1_Winit@std@@QAE@XZ */
|
||||||
DEFINE_THISCALL_WRAPPER(_Winit_dtor, 4)
|
DEFINE_THISCALL_WRAPPER(_Winit_dtor, 4)
|
||||||
|
|
Loading…
Reference in a new issue