Module: wine Branch: master Commit: cf580265e36c33f29c389c85c076a6539bad62de URL: https://source.winehq.org/git/wine.git/?a=commit;h=cf580265e36c33f29c389c85c...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Jul 21 12:21:33 2020 +0200
msvcrt: Copy wcscpy implementation from ntdll.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/crtdll/crtdll.spec | 2 +- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr70/msvcr70.spec | 2 +- dlls/msvcr71/msvcr71.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/msvcrt.spec | 2 +- dlls/msvcrt/wcs.c | 10 ++++++++++ dlls/msvcrtd/msvcrtd.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 4 ++-- 12 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/dlls/crtdll/crtdll.spec b/dlls/crtdll/crtdll.spec index 3acd20e1f6..45491455d0 100644 --- a/dlls/crtdll/crtdll.spec +++ b/dlls/crtdll/crtdll.spec @@ -508,7 +508,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime @ cdecl wcslen(wstr) MSVCRT_wcslen diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 0a0d06b4da..e37c0dbe5e 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1859,7 +1859,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 171cd49652..8f1d9f9397 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -2217,7 +2217,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 01608639b5..731e001ac2 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -2452,7 +2452,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec index 627bcbb72e..2aa111cab5 100644 --- a/dlls/msvcr70/msvcr70.spec +++ b/dlls/msvcr70/msvcr70.spec @@ -854,7 +854,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime @ cdecl wcslen(wstr) MSVCRT_wcslen diff --git a/dlls/msvcr71/msvcr71.spec b/dlls/msvcr71/msvcr71.spec index bae1f7fcdb..da6827789e 100644 --- a/dlls/msvcr71/msvcr71.spec +++ b/dlls/msvcr71/msvcr71.spec @@ -850,7 +850,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime @ cdecl wcslen(wstr) MSVCRT_wcslen diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index fff542a337..1847a93c71 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -1539,7 +1539,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 8854495454..8a53cf47a5 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -1512,7 +1512,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index c88e146461..ac1269c53f 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -1486,7 +1486,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index affded2438..b553f27d27 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -2162,6 +2162,16 @@ INT CDECL MSVCRT_wcscpy_s( MSVCRT_wchar_t* wcDest, MSVCRT_size_t numElement, con return 0; }
+/*********************************************************************** + * wcscpy (MSVCRT.@) + */ +MSVCRT_wchar_t* __cdecl MSVCRT_wcscpy( MSVCRT_wchar_t *dst, const MSVCRT_wchar_t *src ) +{ + WCHAR *p = dst; + while ((*p++ = *src++)); + return dst; +} + /****************************************************************** * wcsncpy (MSVCRT.@) */ diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec index 7b082494d7..0f6af7cce7 100644 --- a/dlls/msvcrtd/msvcrtd.spec +++ b/dlls/msvcrtd/msvcrtd.spec @@ -806,7 +806,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime @ cdecl wcslen(wstr) MSVCRT_wcslen diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 7aebd81e02..2367e5a08d 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -1816,7 +1816,7 @@ @ cdecl _o_wcrtomb_s(ptr ptr long long ptr) MSVCRT_wcrtomb_s @ cdecl _o_wcscat_s(wstr long wstr) MSVCRT_wcscat_s @ cdecl _o_wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl _o_wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl _o_wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl _o_wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl _o_wcsftime(ptr long wstr ptr) MSVCRT_wcsftime @ cdecl _o_wcsncat_s(wstr long wstr long) MSVCRT_wcsncat_s @@ -2559,7 +2559,7 @@ @ cdecl wcschr(wstr long) MSVCRT_wcschr @ cdecl wcscmp(wstr wstr) MSVCRT_wcscmp @ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll -@ cdecl wcscpy(ptr wstr) ntdll.wcscpy +@ cdecl wcscpy(ptr wstr) MSVCRT_wcscpy @ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s @ cdecl wcscspn(wstr wstr) ntdll.wcscspn @ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime