From 6f1e3a5e030a4030ba5577f4210cedbe2eae9c7f Mon Sep 17 00:00:00 2001 From: luboslenco Date: Tue, 3 Mar 2026 17:06:07 +0100 Subject: [PATCH] base: fix compile --- base/sources/backends/windows_mini.h | 65 ++++++++++++++++++++++++++ base/sources/backends/windows_system.c | 2 - base/sources/iron_system.c | 2 +- base/sources/libs/sdefl.h | 3 ++ 4 files changed, 69 insertions(+), 3 deletions(-) diff --git a/base/sources/backends/windows_mini.h b/base/sources/backends/windows_mini.h index 4b469ae3..411af241 100644 --- a/base/sources/backends/windows_mini.h +++ b/base/sources/backends/windows_mini.h @@ -6,6 +6,7 @@ typedef __int64 LONG_PTR; typedef unsigned __int64 ULONG_PTR; typedef unsigned long DWORD; +typedef unsigned short WORD; typedef DWORD *LPDWORD; #define STD_OUTPUT_HANDLE ((DWORD) - 11) #define STD_ERROR_HANDLE ((DWORD) - 12) @@ -85,3 +86,67 @@ WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE hFile, LONG lDistanceToMove, PLON WINBASEAPI BOOL WINAPI CloseHandle(HANDLE hObject); WINBASEAPI BOOL WINAPI WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped); int WINAPI MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); + +typedef unsigned char BYTE; +typedef BYTE *LPBYTE; + +#define INFINITE 0xFFFFFFFF +#define SW_HIDE 0 +#define STARTF_USESHOWWINDOW 0x00000001 +#define CREATE_NO_WINDOW 0x08000000 + +typedef struct _STARTUPINFOW { + DWORD cb; + LPWSTR lpReserved; + LPWSTR lpDesktop; + LPWSTR lpTitle; + DWORD dwX; + DWORD dwY; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwXCountChars; + DWORD dwYCountChars; + DWORD dwFillAttribute; + DWORD dwFlags; + WORD wShowWindow; + WORD cbReserved2; + LPBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; +} STARTUPINFOW, *LPSTARTUPINFOW; + +typedef STARTUPINFOW STARTUPINFO; +typedef LPSTARTUPINFOW LPSTARTUPINFO; + +typedef struct _PROCESS_INFORMATION { + HANDLE hProcess; + HANDLE hThread; + DWORD dwProcessId; + DWORD dwThreadId; +} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION; + +WINBASEAPI DWORD WINAPI GetEnvironmentVariableW(LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize); + +WINBASEAPI BOOL WINAPI CreateProcessW( + LPCWSTR lpApplicationName, + LPWSTR lpCommandLine, + LPSECURITY_ATTRIBUTES lpProcessAttributes, + LPSECURITY_ATTRIBUTES lpThreadAttributes, + BOOL bInheritHandles, + DWORD dwCreationFlags, + LPVOID lpEnvironment, + LPCWSTR lpCurrentDirectory, + LPSTARTUPINFOW lpStartupInfo, + LPPROCESS_INFORMATION lpProcessInformation +); + +WINBASEAPI DWORD WINAPI WaitForSingleObject( + HANDLE hHandle, + DWORD dwMilliseconds +); + +WINBASEAPI BOOL WINAPI GetExitCodeProcess( + HANDLE hProcess, + LPDWORD lpExitCode +); diff --git a/base/sources/backends/windows_system.c b/base/sources/backends/windows_system.c index ade39527..5b2d5848 100644 --- a/base/sources/backends/windows_system.c +++ b/base/sources/backends/windows_system.c @@ -280,7 +280,6 @@ static void initKeyTranslation() { } keyTranslated[VK_BACK] = KEY_CODE_BACKSPACE; keyTranslated[VK_TAB] = KEY_CODE_TAB; - keyTranslated[VK_CLEAR] = KEY_CODE_CLEAR; keyTranslated[VK_RETURN] = KEY_CODE_RETURN; keyTranslated[VK_SHIFT] = KEY_CODE_SHIFT; keyTranslated[VK_CONTROL] = KEY_CODE_CONTROL; @@ -297,7 +296,6 @@ static void initKeyTranslation() { keyTranslated[VK_UP] = KEY_CODE_UP; keyTranslated[VK_RIGHT] = KEY_CODE_RIGHT; keyTranslated[VK_DOWN] = KEY_CODE_DOWN; - keyTranslated[VK_PRINT] = KEY_CODE_PRINT; keyTranslated[VK_INSERT] = KEY_CODE_INSERT; keyTranslated[VK_DELETE] = KEY_CODE_DELETE; keyTranslated[VK_HELP] = KEY_CODE_HELP; diff --git a/base/sources/iron_system.c b/base/sources/iron_system.c index 26c7a361..8d18b216 100644 --- a/base/sources/iron_system.c +++ b/base/sources/iron_system.c @@ -636,7 +636,7 @@ i32 iron_sys_command(char *cmd) { si.wShowWindow = SW_HIDE; PROCESS_INFORMATION pi; memset(&pi, 0, sizeof(pi)); - CreateProcessW(NULL, cmdline, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); + CreateProcessW(NULL, cmdline, NULL, NULL, false, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); free(wstr); WaitForSingleObject(pi.hProcess, INFINITE); DWORD exit_code = 0; diff --git a/base/sources/libs/sdefl.h b/base/sources/libs/sdefl.h index 5d5bcd0d..4a47593c 100644 --- a/base/sources/libs/sdefl.h +++ b/base/sources/libs/sdefl.h @@ -179,6 +179,9 @@ extern int zsdeflate(struct sdefl *s, void *o, const void *i, int n, int lvl); #include /* assert */ #include /* memcpy */ #include /* CHAR_BIT */ +#ifdef _MSC_VER +#include +#endif #ifdef __cplusplus extern "C" {