msvcp: Implement the WCHAR version of _Link.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Stefan Dösinger 2017-10-10 17:09:45 +02:00 committed by Alexandre Julliard
parent 12dadd04cb
commit 96fcf4cc03
4 changed files with 19 additions and 5 deletions

View file

@ -1533,8 +1533,8 @@
@ cdecl -arch=win64 ?_Launch@_Pad@std@@QEAAXPEAU_Thrd_imp_t@@@Z(ptr ptr) _Pad__Launch
@ cdecl -arch=win32 ?_Link@sys@tr2@std@@YAHPBD0@Z(str str) tr2_sys__Link
@ cdecl -arch=win64 ?_Link@sys@tr2@std@@YAHPEBD0@Z(str str) tr2_sys__Link
@ stub -arch=win32 ?_Link@sys@tr2@std@@YAHPB_W0@Z
@ stub -arch=win64 ?_Link@sys@tr2@std@@YAHPEB_W0@Z
@ cdecl -arch=win32 ?_Link@sys@tr2@std@@YAHPB_W0@Z(wstr wstr) tr2_sys__Link_wchar
@ cdecl -arch=win64 ?_Link@sys@tr2@std@@YAHPEB_W0@Z(wstr wstr) tr2_sys__Link_wchar
@ cdecl -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z(ptr ptr long) locale__Locimp__Locimp_Addfac
@ cdecl -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z(ptr ptr) locale__Locimp__Locimp_ctor

View file

@ -1533,8 +1533,8 @@
@ cdecl -arch=win64 ?_Launch@_Pad@std@@QEAAXPEAU_Thrd_imp_t@@@Z(ptr ptr) msvcp120.?_Launch@_Pad@std@@QEAAXPEAU_Thrd_imp_t@@@Z
@ cdecl -arch=win32 ?_Link@sys@tr2@std@@YAHPBD0@Z(str str) msvcp120.?_Link@sys@tr2@std@@YAHPBD0@Z
@ cdecl -arch=win64 ?_Link@sys@tr2@std@@YAHPEBD0@Z(str str) msvcp120.?_Link@sys@tr2@std@@YAHPEBD0@Z
@ stub -arch=win32 ?_Link@sys@tr2@std@@YAHPB_W0@Z
@ stub -arch=win64 ?_Link@sys@tr2@std@@YAHPEB_W0@Z
@ cdecl -arch=win32 ?_Link@sys@tr2@std@@YAHPB_W0@Z(wstr wstr) msvcp120.?_Link@sys@tr2@std@@YAHPB_W0@Z
@ cdecl -arch=win64 ?_Link@sys@tr2@std@@YAHPEB_W0@Z(wstr wstr) msvcp120.?_Link@sys@tr2@std@@YAHPEB_W0@Z
@ cdecl -arch=win32 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z(ptr ptr long) msvcp120.?_Locimp_Addfac@_Locimp@locale@std@@CAXPAV123@PAVfacet@23@I@Z
@ cdecl -arch=win64 ?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z(ptr ptr long) msvcp120.?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z
@ cdecl -arch=win32 ?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z(ptr ptr) msvcp120.?_Locimp_ctor@_Locimp@locale@std@@CAXPAV123@ABV123@@Z

View file

@ -3667,7 +3667,7 @@
@ stub _LSinh
@ extern _LSnan _LSnan
@ stub _Last_write_time
@ stub _Link
@ cdecl _Link(wstr wstr) tr2_sys__Link_wchar
@ cdecl _Lock_shared_ptr_spin_lock()
@ cdecl _Lstat(wstr ptr)
@ cdecl _Make_dir(wstr) tr2_sys__Make_dir_wchar

View file

@ -15036,6 +15036,20 @@ int __cdecl tr2_sys__Link(char const* existing_path, char const* new_path)
return GetLastError();
}
/* ?_Link@sys@tr2@std@@YAHPB_W0@Z */
/* ?_Link@sys@tr2@std@@YAHPEB_W0@Z */
/* _Link */
int __cdecl tr2_sys__Link_wchar(WCHAR const* existing_path, WCHAR const* new_path)
{
TRACE("(%s %s)\n", debugstr_w(existing_path), debugstr_w(new_path));
if(!existing_path || !new_path)
return ERROR_INVALID_PARAMETER;
if(CreateHardLinkW(new_path, existing_path, NULL))
return ERROR_SUCCESS;
return GetLastError();
}
/* ?_Symlink@sys@tr2@std@@YAHPBD0@Z */
/* ?_Symlink@sys@tr2@std@@YAHPEBD0@Z */
int __cdecl tr2_sys__Symlink(char const* existing_file_name, char const* file_name)