Module: wine Branch: master Commit: 88680e522b8d04217e5829d63e0218413c8dab70 URL: https://source.winehq.org/git/wine.git/?a=commit;h=88680e522b8d04217e5829d63...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Jun 20 09:07:53 2019 +0200
schedsvc: Build with msvcrt.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/schedsvc/Makefile.in | 2 ++ dlls/schedsvc/atsvc.c | 6 +++--- dlls/schedsvc/schedsvc.c | 34 +++++++++++++++++----------------- dlls/schedsvc/schedsvc_private.h | 3 +-- 4 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/dlls/schedsvc/Makefile.in b/dlls/schedsvc/Makefile.in index 021cae4..1737650 100644 --- a/dlls/schedsvc/Makefile.in +++ b/dlls/schedsvc/Makefile.in @@ -1,6 +1,8 @@ MODULE = schedsvc.dll IMPORTS = rpcrt4 advapi32 ole32
+EXTRADLLFLAGS = -mno-cygwin + C_SRCS = \ atsvc.c \ schedsvc.c \ diff --git a/dlls/schedsvc/atsvc.c b/dlls/schedsvc/atsvc.c index a0e0727..5a34b33 100644 --- a/dlls/schedsvc/atsvc.c +++ b/dlls/schedsvc/atsvc.c @@ -1096,9 +1096,9 @@ DWORD __cdecl NetrJobAdd(ATSVC_HANDLE server_name, AT_INFO *info, DWORD *jobid) static const WCHAR fmtW[] = { '\','T','a','s','k','s','\','A','t','%','u','.','j','o','b',0 }; WCHAR task_name[MAX_PATH], name[32];
- strcpyW(task_name, windir); - sprintfW(name, fmtW, current_jobid); - strcatW(task_name, name); + lstrcpyW(task_name, windir); + swprintf(name, ARRAY_SIZE(name), fmtW, current_jobid); + lstrcatW(task_name, name); if (create_job(task_name, info)) { struct job_t *job; diff --git a/dlls/schedsvc/schedsvc.c b/dlls/schedsvc/schedsvc.c index c34b485..6236708 100644 --- a/dlls/schedsvc/schedsvc.c +++ b/dlls/schedsvc/schedsvc.c @@ -46,17 +46,17 @@ static WCHAR *get_full_name(const WCHAR *path, WCHAR **relative_path) int len;
len = GetSystemDirectoryW(NULL, 0); - len += strlenW(tasksW) + strlenW(path); + len += lstrlenW(tasksW) + lstrlenW(path);
target = heap_alloc(len * sizeof(WCHAR)); if (target) { GetSystemDirectoryW(target, len); - strcatW(target, tasksW); + lstrcatW(target, tasksW); if (relative_path) - *relative_path = target + strlenW(target) - 1; + *relative_path = target + lstrlenW(target) - 1; while (*path == '\') path++; - strcatW(target, path); + lstrcatW(target, path); } return target; } @@ -70,12 +70,12 @@ static HRESULT create_directory(const WCHAR *path) WCHAR *new_path; int len;
- new_path = heap_alloc((strlenW(path) + 1) * sizeof(WCHAR)); + new_path = heap_alloc((lstrlenW(path) + 1) * sizeof(WCHAR)); if (!new_path) return E_OUTOFMEMORY;
- strcpyW(new_path, path); + lstrcpyW(new_path, path);
- len = strlenW(new_path); + len = lstrlenW(new_path); while (len && new_path[len - 1] == '\') { new_path[len - 1] = 0; @@ -87,7 +87,7 @@ static HRESULT create_directory(const WCHAR *path) WCHAR *slash; DWORD last_error = GetLastError();
- if (last_error != ERROR_PATH_NOT_FOUND || !(slash = strrchrW(new_path, '\'))) + if (last_error != ERROR_PATH_NOT_FOUND || !(slash = wcsrchr(new_path, '\'))) { hr = HRESULT_FROM_WIN32(last_error); break; @@ -184,10 +184,10 @@ HRESULT __cdecl SchRpcRegisterTask(const WCHAR *path, const WCHAR *xml, DWORD fl full_name = get_full_name(path, &relative_path); if (!full_name) return E_OUTOFMEMORY;
- if (strchrW(path, '\') || strchrW(path, '/')) + if (wcschr(path, '\') || wcschr(path, '/')) { - WCHAR *p = strrchrW(full_name, '/'); - if (!p) p = strrchrW(full_name, '\'); + WCHAR *p = wcsrchr(full_name, '/'); + if (!p) p = wcsrchr(full_name, '\'); *p = 0; hr = create_directory(full_name); if (hr != S_OK && hr != HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)) @@ -410,14 +410,14 @@ HRESULT __cdecl SchRpcEnumFolders(const WCHAR *path, DWORD flags, DWORD *start_i full_name = get_full_name(path, NULL); if (!full_name) return E_OUTOFMEMORY;
- if (strlenW(full_name) + 2 > MAX_PATH) + if (lstrlenW(full_name) + 2 > MAX_PATH) { heap_free(full_name); return HRESULT_FROM_WIN32(ERROR_FILENAME_EXCED_RANGE); }
- strcpyW(pathW, full_name); - strcatW(pathW, allW); + lstrcpyW(pathW, full_name); + lstrcatW(pathW, allW);
heap_free(full_name);
@@ -518,14 +518,14 @@ HRESULT __cdecl SchRpcEnumTasks(const WCHAR *path, DWORD flags, DWORD *start_ind full_name = get_full_name(path, NULL); if (!full_name) return E_OUTOFMEMORY;
- if (strlenW(full_name) + 2 > MAX_PATH) + if (lstrlenW(full_name) + 2 > MAX_PATH) { heap_free(full_name); return HRESULT_FROM_WIN32(ERROR_FILENAME_EXCED_RANGE); }
- strcpyW(pathW, full_name); - strcatW(pathW, allW); + lstrcpyW(pathW, full_name); + lstrcatW(pathW, allW);
heap_free(full_name);
diff --git a/dlls/schedsvc/schedsvc_private.h b/dlls/schedsvc/schedsvc_private.h index 117c6f5..1eada2b 100644 --- a/dlls/schedsvc/schedsvc_private.h +++ b/dlls/schedsvc/schedsvc_private.h @@ -20,7 +20,6 @@ #define __WINE_SCHEDSVC_PRIVATE_H__
#include "wine/heap.h" -#include "wine/unicode.h"
void schedsvc_auto_start(void) DECLSPEC_HIDDEN; void add_job(const WCHAR *name) DECLSPEC_HIDDEN; @@ -38,7 +37,7 @@ static inline WCHAR *heap_strdupW(const WCHAR *src) WCHAR *dst; unsigned len; if (!src) return NULL; - len = (strlenW(src) + 1) * sizeof(WCHAR); + len = (lstrlenW(src) + 1) * sizeof(WCHAR); if ((dst = heap_alloc(len))) memcpy(dst, src, len); return dst; }