From 6a280804b8189ccd4df03e3dc6217dc2a64a8831 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Thu, 9 Mar 2023 11:34:14 +0700 Subject: [PATCH] chore(developer): fixup build errors --- developer/src/kmcmplib/Makefile | 7 +++++-- .../kmcmplib/src/CheckFilenameConsistency.cpp | 4 ++-- developer/src/kmcmplib/src/filesystem.cpp | 19 ++++++++++++++++++- developer/src/kmcmplib/src/filesystem.h | 1 + developer/src/kmcmplib/src/kmx_u16.cpp | 1 + 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/developer/src/kmcmplib/Makefile b/developer/src/kmcmplib/Makefile index d89f818c36..4acc7d3cfb 100644 --- a/developer/src/kmcmplib/Makefile +++ b/developer/src/kmcmplib/Makefile @@ -16,10 +16,10 @@ BUILD_DEBUG= !endif build: .virtual - $(CALLER) ./build.sh clean:x86 configure:x86 build:x86 clean:x64 configure:x64 build:x64 $(BUILD_DEBUG) + $(CALLER) ./build.sh clean configure build $(BUILD_DEBUG) clean: - $(CALLER) ./build.sh clean:x86 clean:x64 + $(CALLER) ./build.sh clean $(BUILD_DEBUG) signcode: @rem Not required @@ -30,6 +30,9 @@ wrap-symbols: test-manifest: @rem This target needed as dependency for TIKE and KMCMPDLL +test: + $(CALLER) ./build.sh test $(BUILD_DEBUG) + install: @rem Not required diff --git a/developer/src/kmcmplib/src/CheckFilenameConsistency.cpp b/developer/src/kmcmplib/src/CheckFilenameConsistency.cpp index 41cd289552..66288ac1f0 100644 --- a/developer/src/kmcmplib/src/CheckFilenameConsistency.cpp +++ b/developer/src/kmcmplib/src/CheckFilenameConsistency.cpp @@ -81,8 +81,8 @@ KMX_DWORD CheckFilenameConsistency(KMX_WCHAR const * Filename, bool ReportMissin if(!kmcmp_FileExists(Name)) { if (ReportMissingFile) { u16cpy(ErrExtraW, u"referenced file '"); - u16ncat(ErrExtraW, 256, FileName); - u16ncat(ErrExtraW, 256, u"'"); + u16ncat(ErrExtraW, Filename, 256); + u16ncat(ErrExtraW, u"'", 256); strcpy(ErrExtraLIB, string_from_u16string(ErrExtraW).c_str()); AddWarning(CWARN_MissingFile); } diff --git a/developer/src/kmcmplib/src/filesystem.cpp b/developer/src/kmcmplib/src/filesystem.cpp index d9fb51844a..aa1980cfdf 100644 --- a/developer/src/kmcmplib/src/filesystem.cpp +++ b/developer/src/kmcmplib/src/filesystem.cpp @@ -162,4 +162,21 @@ KMX_BOOL kmcmp_FileExists(const KMX_CHAR *filename) { #endif // !_MSC_VER return FALSE; -} \ No newline at end of file +} + +KMX_BOOL kmcmp_FileExists(const KMX_WCHAR* filename) { +#ifdef _MSC_VER + intptr_t n; + _wfinddata_t fi; + if((n = _wfindfirst((wchar_t*) filename, &fi)) != -1) { + _findclose(n); + return TRUE; + } +#else + std::string cpath; + cpath = string_from_u16string(filename); + return kmcmp_FileExists(cpath.c_str()); +#endif + + return FALSE; +}; diff --git a/developer/src/kmcmplib/src/filesystem.h b/developer/src/kmcmplib/src/filesystem.h index 48e08e44eb..4fa134972c 100644 --- a/developer/src/kmcmplib/src/filesystem.h +++ b/developer/src/kmcmplib/src/filesystem.h @@ -17,3 +17,4 @@ FILE* Open_File(const KMX_CHAR* Filename, const KMX_CHAR* mode); FILE* Open_File(const KMX_WCHART* Filename, const KMX_WCHART* mode); FILE* Open_File(const KMX_WCHAR* Filename, const KMX_WCHAR* mode); KMX_BOOL kmcmp_FileExists(const KMX_CHAR *filename); +KMX_BOOL kmcmp_FileExists(const KMX_WCHAR *filename); diff --git a/developer/src/kmcmplib/src/kmx_u16.cpp b/developer/src/kmcmplib/src/kmx_u16.cpp index 6c0ebe0db4..98398615f3 100644 --- a/developer/src/kmcmplib/src/kmx_u16.cpp +++ b/developer/src/kmcmplib/src/kmx_u16.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include //String <- wstring