From 278738f2881906b3a3efd2144ff8081a39c17587 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 28 May 2020 02:31:53 +0200 Subject: [PATCH] Don't assume that UNICODE is not defined. Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined differently if the application defines the macro UNICODE. Reported by Steve Lhomme in . * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR. * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR. * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise. --- ChangeLog | 11 +++++++++++ lib/link.c | 4 ++-- lib/localename.c | 2 +- lib/stat-w32.c | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index ae76e2c955..c17b76b72e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2020-05-27 Bruno Haible + + Don't assume that UNICODE is not defined. + Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined + differently if the application defines the macro UNICODE. + Reported by Steve Lhomme in + . + * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR. + * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR. + * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise. + 2020-05-27 Bruno Haible Improve pattern for defining _WIN32_WINNT. diff --git a/lib/link.c b/lib/link.c index fc3eebf90f..8e079d2413 100644 --- a/lib/link.c +++ b/lib/link.c @@ -35,8 +35,8 @@ (void *) GetProcAddress /* CreateHardLink was introduced only in Windows 2000. */ -typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCTSTR lpFileName, - LPCTSTR lpExistingFileName, +typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCSTR lpFileName, + LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); static CreateHardLinkFuncType CreateHardLinkFunc = NULL; static BOOL initialized = FALSE; diff --git a/lib/localename.c b/lib/localename.c index fe3d168c80..4046a0bb61 100644 --- a/lib/localename.c +++ b/lib/localename.c @@ -2564,7 +2564,7 @@ static char lname[LC_MAX * (LOCALE_NAME_MAX_LENGTH + 1) + 1]; /* Callback function for EnumLocales. */ static BOOL CALLBACK -enum_locales_fn (LPTSTR locale_num_str) +enum_locales_fn (LPSTR locale_num_str) { char *endp; char locval[2 * LOCALE_NAME_MAX_LENGTH + 1 + 1]; diff --git a/lib/stat-w32.c b/lib/stat-w32.c index c4b5de9a71..b9163f56e2 100644 --- a/lib/stat-w32.c +++ b/lib/stat-w32.c @@ -54,7 +54,7 @@ static GetFileInformationByHandleExFuncType GetFileInformationByHandleExFunc = N #endif /* GetFinalPathNameByHandle was introduced only in Windows Vista. */ typedef DWORD (WINAPI * GetFinalPathNameByHandleFuncType) (HANDLE hFile, - LPTSTR lpFilePath, + LPSTR lpFilePath, DWORD lenFilePath, DWORD dwFlags); static GetFinalPathNameByHandleFuncType GetFinalPathNameByHandleFunc = NULL; -- 2.39.5