From 5aaefd451004551dc6545b2ee189bf2053ede93e Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sat, 24 Jul 2021 12:21:04 +1000 Subject: [PATCH] fix not compiling with TCC, avoid shellapi.h --- src/Audio.c | 21 ++++++++++----------- src/Http_Worker.c | 23 +++++++++++------------ src/Platform_WinApi.c | 6 +++++- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/Audio.c b/src/Audio.c index bc53b4760..5c74fd887 100644 --- a/src/Audio.c +++ b/src/Audio.c @@ -281,21 +281,20 @@ cc_result Audio_IsFinished(struct AudioContext* ctx, cc_bool* finished) { /*########################################################################################################################* *------------------------------------------------------WinMM backend------------------------------------------------------* *#########################################################################################################################*/ -/* === BEGIN WINDOWS HEADERS === */ -typedef unsigned long DWORD; -typedef unsigned short WORD; -typedef unsigned int UINT; -typedef char CHAR; -typedef cc_uintptr DWORD_PTR; -typedef char* LPSTR; +#define WIN32_LEAN_AND_MEAN +#define NOSERVICE +#define NOMCX +#define NOIME +#ifndef UNICODE +#define UNICODE +#define _UNICODE +#endif +#include -#define WINAPI __stdcall -#define DECLSPEC_IMPORT __declspec(dllimport) /* === BEGIN mmsyscom.h === */ #define CALLBACK_NULL 0x00000000l typedef UINT MMRESULT; #define WINMMAPI DECLSPEC_IMPORT - /* === BEGIN mmeapi.h === */ typedef struct WAVEHDR_ { LPSTR lpData; @@ -330,7 +329,7 @@ WINMMAPI MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT hwo, WAVEHDR* hdr, UINT h WINMMAPI MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT hwo, WAVEHDR* hdr, UINT hdrSize); WINMMAPI MMRESULT WINAPI waveOutWrite(HWAVEOUT hwo, WAVEHDR* hdr, UINT hdrSize); WINMMAPI MMRESULT WINAPI waveOutReset(HWAVEOUT hwo); -/* === END WINDOWS HEADERS === */ +/* === END mmeapi.h === */ struct AudioContext { HWAVEOUT handle; diff --git a/src/Http_Worker.c b/src/Http_Worker.c index d0a433e48..c25183642 100644 --- a/src/Http_Worker.c +++ b/src/Http_Worker.c @@ -386,19 +386,18 @@ static cc_result Http_BackendDo(struct HttpRequest* req, cc_string* url) { /*########################################################################################################################* *-----------------------------------------------------WinINet backend-----------------------------------------------------* *#########################################################################################################################*/ -/* === BEGIN WINDOWS HEADERS === */ -typedef unsigned long DWORD; -typedef int BOOL; -typedef unsigned short WORD; -typedef void* PVOID; -typedef const char* PCSTR; -typedef cc_uintptr DWORD_PTR; +#define WIN32_LEAN_AND_MEAN +#define NOSERVICE +#define NOMCX +#define NOIME +#ifndef UNICODE +#define UNICODE +#define _UNICODE +#endif +#include -#define WINAPI _stdcall -#define WINBASEAPI __declspec(dllimport) -WINBASEAPI DWORD WINAPI GetLastError(void); /* === BEGIN wininet.h === */ -#define INETAPI __declspec(dllimport) +#define INETAPI DECLSPEC_IMPORT typedef PVOID HINTERNET; typedef WORD INTERNET_PORT; @@ -430,7 +429,7 @@ INETAPI BOOL WINAPI HttpQueryInfoA(HINTERNET hRequest, DWORD infoLevel, PVOID bu INETAPI BOOL WINAPI HttpAddRequestHeadersA(HINTERNET hRequest, PCSTR headers, DWORD headersLength, DWORD modifiers); INETAPI HINTERNET WINAPI HttpOpenRequestA(HINTERNET hConnect, PCSTR verb, PCSTR objectName, PCSTR version, PCSTR referrer, PCSTR* acceptTypes, DWORD flags, DWORD_PTR context); INETAPI BOOL WINAPI HttpSendRequestA(HINTERNET hRequest, PCSTR headers, DWORD headersLength, PVOID optional, DWORD optionalLength); -/* === END WINDOWS HEADERS === */ +/* === END wininet.h === */ /* caches connections to web servers */ struct HttpCacheEntry { diff --git a/src/Platform_WinApi.c b/src/Platform_WinApi.c index b5478ad3d..5be5fa476 100644 --- a/src/Platform_WinApi.c +++ b/src/Platform_WinApi.c @@ -19,9 +19,13 @@ #include #include #include -#include #include +/* === BEGIN shellapi.h === */ +#define SHELLAPI DECLSPEC_IMPORT +SHELLAPI HINSTANCE WINAPI ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd); +/* === END shellapi.h === */ + static HANDLE heap; const cc_result ReturnCode_FileShareViolation = ERROR_SHARING_VIOLATION; const cc_result ReturnCode_FileNotFound = ERROR_FILE_NOT_FOUND;