Merge pull request #4850 from past-due/physfs_win10_patch

[physfs] Fix Win10 GetUserProfileDirectory() problem
This commit is contained in:
Phil Christensen 2018-12-05 10:00:07 -08:00 committed by GitHub
commit b4f900f6c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 2 deletions

View File

@ -1,4 +1,4 @@
Source: physfs Source: physfs
Version: 3.0.1 Version: 3.0.1-1
Description: a library to provide abstract access to various archives Description: a library to provide abstract access to various archives
Build-Depends: zlib Build-Depends: zlib

View File

@ -0,0 +1,25 @@
diff -r a29fef4a20fd -r ece6769c0676 src/physfs_platform_windows.c
--- a/src/physfs_platform_windows.c Wed May 16 19:54:51 2018 -0400
+++ b/src/physfs_platform_windows.c Wed Oct 03 22:40:57 2018 -0400
@@ -566,7 +566,6 @@
else
{
DWORD psize = 0;
- WCHAR dummy = 0;
LPWSTR wstr = NULL;
BOOL rc = 0;
@@ -575,7 +574,7 @@
* psize. Also note that the second parameter can't be
* NULL or the function fails.
*/
- rc = pGetDir(accessToken, &dummy, &psize);
+ rc = pGetDir(accessToken, NULL, &psize);
GOTO_IF(rc, PHYSFS_ERR_OS_ERROR, done); /* should have failed! */
/* Allocate memory for the profile directory */

View File

@ -6,7 +6,13 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2" FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2"
SHA512 ddf3b075ccb506da5e9a1ce96001be402752b9b777c2e816a85d48aff3626ff0886ea43eb07bd300fe3a9f59b9a002f54d822c51d483a4ee94b38378534c1879 SHA512 ddf3b075ccb506da5e9a1ce96001be402752b9b777c2e816a85d48aff3626ff0886ea43eb07bd300fe3a9f59b9a002f54d822c51d483a4ee94b38378534c1879
) )
vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${PHYSFS_VERSION}
PATCHES
physfs.3.0.1.GetUserProfileDirectory.patch # Fixes GetUserProfileDirectory issue on Win10 build 1809(+?); See: https://hg.icculus.org/icculus/physfs/rev/ece6769c0676
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED)