Alexandre Julliard : ntdll: Use wcscat() instead of strcatW().
Alexandre Julliard
julliard at winehq.org
Tue Mar 31 16:44:22 CDT 2020
Module: wine
Branch: master
Commit: 80005ee016aeed42967adfe5b3042803d008c50d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=80005ee016aeed42967adfe5b3042803d008c50d
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Mar 31 11:41:22 2020 +0200
ntdll: Use wcscat() instead of strcatW().
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/actctx.c | 28 ++++++++++++++--------------
dlls/ntdll/env.c | 6 +++---
dlls/ntdll/loader.c | 8 ++++----
dlls/ntdll/loadorder.c | 4 ++--
dlls/ntdll/locale.c | 6 +++---
dlls/ntdll/ntdll_misc.h | 1 +
dlls/ntdll/path.c | 6 +++---
dlls/ntdll/reg.c | 2 +-
dlls/ntdll/version.c | 2 +-
9 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index 03a18a1928..e52710565c 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -1099,17 +1099,17 @@ static WCHAR *build_assembly_dir(struct assembly_identity* ai)
if (!(ret = RtlAllocateHeap( GetProcessHeap(), 0, size ))) return NULL;
wcscpy( ret, arch );
- strcatW( ret, undW );
- strcatW( ret, name );
- strcatW( ret, undW );
- strcatW( ret, key );
- strcatW( ret, undW );
+ wcscat( ret, undW );
+ wcscat( ret, name );
+ wcscat( ret, undW );
+ wcscat( ret, key );
+ wcscat( ret, undW );
NTDLL_swprintf( ret + strlenW(ret), version_formatW,
ai->version.major, ai->version.minor, ai->version.build, ai->version.revision );
- strcatW( ret, undW );
- strcatW( ret, lang );
- strcatW( ret, undW );
- strcatW( ret, mskeyW );
+ wcscat( ret, undW );
+ wcscat( ret, lang );
+ wcscat( ret, undW );
+ wcscat( ret, mskeyW );
return ret;
}
@@ -1118,7 +1118,7 @@ static inline void append_string( WCHAR *buffer, const WCHAR *prefix, const WCHA
WCHAR *p = buffer;
if (!str) return;
- strcatW( buffer, prefix );
+ wcscat( buffer, prefix );
p += strlenW(p);
*p++ = '"';
wcscpy( p, str );
@@ -3062,7 +3062,7 @@ static NTSTATUS get_manifest_in_associated_manifest( struct actctx_loader* acl,
if (!(status = get_module_filename( module, &name, sizeof(dotManifestW) + 10*sizeof(WCHAR) )))
{
if (resid != 1) NTDLL_swprintf( name.Buffer + strlenW(name.Buffer), fmtW, resid );
- strcatW( name.Buffer, dotManifestW );
+ wcscat( name.Buffer, dotManifestW );
if (!RtlDosPathNameToNtPathName_U( name.Buffer, &nameW, NULL, NULL ))
status = STATUS_RESOURCE_DATA_NOT_FOUND;
RtlFreeUnicodeString( &name );
@@ -3076,7 +3076,7 @@ static NTSTATUS get_manifest_in_associated_manifest( struct actctx_loader* acl,
return STATUS_NO_MEMORY;
wcscpy( buffer, filename );
if (resid != 1) NTDLL_swprintf( buffer + strlenW(buffer), fmtW, resid );
- strcatW( buffer, dotManifestW );
+ wcscat( buffer, dotManifestW );
RtlInitUnicodeString( &nameW, buffer );
}
@@ -3700,8 +3700,8 @@ static NTSTATUS build_wndclass_section(ACTIVATION_CONTEXT* actctx, struct strsec
if (entity->u.class.versioned)
{
get_assembly_version(assembly, ptrW);
- strcatW(ptrW, exclW);
- strcatW(ptrW, entity->u.class.name);
+ wcscat(ptrW, exclW);
+ wcscat(ptrW, entity->u.class.name);
}
else
{
diff --git a/dlls/ntdll/env.c b/dlls/ntdll/env.c
index ecc2c38abb..f587bdef7e 100644
--- a/dlls/ntdll/env.c
+++ b/dlls/ntdll/env.c
@@ -689,7 +689,7 @@ static void get_image_path( const char *argv0, UNICODE_STRING *path )
if (RtlDoesFileExists_U( full_name )) goto done;
if (len < (MAX_PATH - 4) * sizeof(WCHAR) && !strchrW( file_part, '.' ))
{
- strcatW( file_part, exeW );
+ wcscat( file_part, exeW );
if (RtlDoesFileExists_U( full_name )) goto done;
}
/* check for builtin path inside system directory */
@@ -710,8 +710,8 @@ static void get_image_path( const char *argv0, UNICODE_STRING *path )
len = strlenW( system_dir );
if (strlenW( name ) >= MAX_PATH - 4 - len) goto failed;
wcscpy( full_name, system_dir );
- strcatW( full_name, name );
- if (!strchrW( name, '.' )) strcatW( full_name, exeW );
+ wcscat( full_name, name );
+ if (!strchrW( name, '.' )) wcscat( full_name, exeW );
}
}
done:
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index f67e1357ad..da19e74a76 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -1775,8 +1775,8 @@ static BOOL get_builtin_fullname( UNICODE_STRING *nt_name, const UNICODE_STRING
(strlenW(system_dir) + len + 5) * sizeof(WCHAR) )))
return FALSE;
wcscpy( fullname, nt_prefixW );
- strcatW( fullname, system_dir );
- strcatW( fullname, filenameW );
+ wcscat( fullname, system_dir );
+ wcscat( fullname, filenameW );
done:
RtlInitUnicodeString( nt_name, fullname );
return TRUE;
@@ -2860,7 +2860,7 @@ static NTSTATUS search_dll_file( LPCWSTR paths, LPCWSTR search, UNICODE_STRING *
{
/* not found, return file in the system dir to be loaded as builtin */
wcscpy( name, system_dir );
- strcatW( name, search );
+ wcscat( name, search );
if (!RtlDosPathNameToNtPathName_U( name, nt_name, NULL, NULL )) status = STATUS_NO_MEMORY;
}
else status = STATUS_IMAGE_MACHINE_TYPE_MISMATCH;
@@ -2896,7 +2896,7 @@ static NTSTATUS find_dll_file( const WCHAR *load_path, const WCHAR *libname, con
(strlenW(libname)+strlenW(default_ext)+1) * sizeof(WCHAR))))
return STATUS_NO_MEMORY;
wcscpy( dllname, libname );
- strcatW( dllname, default_ext );
+ wcscat( dllname, default_ext );
libname = dllname;
}
}
diff --git a/dlls/ntdll/loadorder.c b/dlls/ntdll/loadorder.c
index 35dd321e99..1a3c579dee 100644
--- a/dlls/ntdll/loadorder.c
+++ b/dlls/ntdll/loadorder.c
@@ -344,8 +344,8 @@ static HANDLE get_app_key( const WCHAR *app_name )
strlenW(app_name) * sizeof(WCHAR) );
if (!str) return 0;
wcscpy( str, AppDefaultsW );
- strcatW( str, app_name );
- strcatW( str, DllOverridesW );
+ wcscat( str, app_name );
+ wcscat( str, DllOverridesW );
RtlOpenCurrentUser( KEY_ALL_ACCESS, &root );
attr.Length = sizeof(attr);
diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c
index 1487338cfa..88cfb08a6b 100644
--- a/dlls/ntdll/locale.c
+++ b/dlls/ntdll/locale.c
@@ -679,8 +679,8 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
return STATUS_NO_MEMORY;
if (!RtlQueryEnvironmentVariable_U( NULL, &nameW, &valueW ))
{
- strcatW( valueW.Buffer, dataprefixW );
- strcatW( valueW.Buffer, name );
+ wcscat( valueW.Buffer, dataprefixW );
+ wcscat( valueW.Buffer, name );
valueW.Length = strlenW(valueW.Buffer) * sizeof(WCHAR);
InitializeObjectAttributes( &attr, &valueW, 0, 0, NULL );
status = NtOpenFile( file, GENERIC_READ, &attr, &io, FILE_SHARE_READ, FILE_SYNCHRONOUS_IO_ALERT );
@@ -877,7 +877,7 @@ static LCID unix_locale_to_lcid( const char *unix_name )
wcscpy( win_name, buffer );
if (modifier)
{
- if (!strcmpW( modifier, latinW )) strcatW( win_name, latnW );
+ if (!strcmpW( modifier, latinW )) wcscat( win_name, latnW );
else if (!strcmpW( modifier, euroW )) {} /* ignore */
else return 0;
}
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 37128521dc..2a32660e72 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -303,6 +303,7 @@ int WINAPIV NTDLL_swprintf( WCHAR *str, const WCHAR *format, ... );
#define wcslwr(s) NTDLL__wcslwr(s)
#define wcsupr(s) NTDLL__wcsupr(s)
#define wcscpy(d,s) NTDLL_wcscpy(d,s)
+#define wcscat(d,s) NTDLL_wcscat(d,s)
#define wcstoul(s,e,b) NTDLL_wcstoul(s,e,b)
/* convert from straight ASCII to Unicode without depending on the current codepage */
diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c
index 5804f8f53f..1666166181 100644
--- a/dlls/ntdll/path.c
+++ b/dlls/ntdll/path.c
@@ -399,7 +399,7 @@ NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus(const WCHAR *dos_path, U
{
case UNC_PATH: /* \\foo */
offset = 2;
- strcatW(ntpath->Buffer, UncPfxW);
+ wcscat(ntpath->Buffer, UncPfxW);
break;
case DEVICE_PATH: /* \\.\foo */
offset = 4;
@@ -409,7 +409,7 @@ NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus(const WCHAR *dos_path, U
break;
}
- strcatW(ntpath->Buffer, ptr + offset);
+ wcscat(ntpath->Buffer, ptr + offset);
ntpath->Length = strlenW(ntpath->Buffer) * sizeof(WCHAR);
if (file_part && *file_part)
@@ -514,7 +514,7 @@ ULONG WINAPI RtlDosSearchPath_U(LPCWSTR paths, LPCWSTR search, LPCWSTR ext,
/* append '\\' if none is present */
if (needed > 0 && name[needed - 1] != '\\') name[needed++] = '\\';
wcscpy(&name[needed], search);
- if (ext) strcatW(&name[needed], ext);
+ if (ext) wcscat(&name[needed], ext);
if (RtlDoesFileExists_U(name))
{
len = RtlGetFullPathName_U(name, buffer_size, buffer, file_part);
diff --git a/dlls/ntdll/reg.c b/dlls/ntdll/reg.c
index 3ac66fb1c6..3170524884 100644
--- a/dlls/ntdll/reg.c
+++ b/dlls/ntdll/reg.c
@@ -1193,7 +1193,7 @@ static NTSTATUS RTL_KeyHandleCreateObject(ULONG RelativeTo, PCWSTR Path, POBJECT
return STATUS_NO_MEMORY;
wcscpy(str->Buffer, base);
- strcatW(str->Buffer, Path);
+ wcscat(str->Buffer, Path);
str->Length = len - sizeof(WCHAR);
str->MaximumLength = len;
InitializeObjectAttributes(regkey, str, OBJ_CASE_INSENSITIVE, NULL, NULL);
diff --git a/dlls/ntdll/version.c b/dlls/ntdll/version.c
index 8570a2fd51..87765d5562 100644
--- a/dlls/ntdll/version.c
+++ b/dlls/ntdll/version.c
@@ -505,7 +505,7 @@ void version_init(void)
if ((p = strrchrW( appname, '\\' ))) appname = p + 1;
wcscpy( appversion, appdefaultsW );
- strcatW( appversion, appname );
+ wcscat( appversion, appname );
RtlInitUnicodeString( &nameW, appversion );
attr.RootDirectory = config_key;
More information about the wine-cvs
mailing list