schedsvc: Build with msvcrt.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Alexandre Julliard 2019-06-20 09:07:53 +02:00
parent 6dde50b1b6
commit 88680e522b
4 changed files with 23 additions and 22 deletions

View File

@ -1,6 +1,8 @@
MODULE = schedsvc.dll
IMPORTS = rpcrt4 advapi32 ole32
EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
atsvc.c \
schedsvc.c \

View File

@ -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;

View File

@ -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);

View File

@ -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;
}