diff dw.h @ 2398:4de830d3bf9e

Win: Remove winmain.c as it is unnecessary when using the dwmain() entrypoint macros. Export _dw_convertargs() internal function for use in the dwmain macro.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 25 Mar 2021 21:38:58 +0000
parents 5bb3491ceba2
children 0286ac44d347
line wrap: on
line diff
--- a/dw.h	Thu Mar 25 20:51:53 2021 +0000
+++ b/dw.h	Thu Mar 25 21:38:58 2021 +0000
@@ -1629,6 +1629,15 @@
     dw_thread_new(_dw_main_launch, data, 0); \
     _dw_main_thread(argc, argv); } \
 int _dwmain(a, b)
+#elif defined(__WIN32__)
+#define dwmain(a, b) \
+_dwmain(a, b); \
+char ** API _dw_convertargs(int *count, char *start, HINSTANCE hInstance); \
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {\
+   int argc; \
+   char **argv = _dw_convertargs(&argc, lpCmdLine, hInstance); \
+   return _dwmain(argc, argv); } \
+int _dwmain(a, b)
 #else
 #define dwmain(a, b) main(a, b)
 #endif