blob: 6c45ec2ea4894b4a6bc11da85a29e181d17f2d99 [file] [log] [blame]
Bram Moolenaaredf3f972016-08-29 22:49:24 +02001/* vi:set ts=8 sts=4 sw=4 noet:
Bram Moolenaar071d4272004-06-13 20:20:40 +00002 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 * GUI support by Robert Webb
5 *
6 * Do ":help uganda" in Vim to read copying and usage conditions.
7 * Do ":help credits" in Vim to see a list of people who contributed.
8 * See README.txt for an overview of the Vim source code.
9 */
10/*
11 * Windows GUI: main program (EXE) entry point:
12 *
Bram Moolenaarb26705a2019-04-02 22:02:32 +020013 * Ron Aaron <ronaharon@yahoo.com> wrote this and the (now deleted) DLL support
14 * code.
Bram Moolenaar071d4272004-06-13 20:20:40 +000015 */
16#include "vim.h"
17
18#ifdef __MINGW32__
19# ifndef _cdecl
20# define _cdecl
21# endif
22#endif
23
Bram Moolenaarb26705a2019-04-02 22:02:32 +020024// cproto doesn't create a prototype for VimMain()
25int _cdecl VimMain(int argc, char **argv);
Bram Moolenaar071d4272004-06-13 20:20:40 +000026#ifdef FEAT_GUI
Bram Moolenaar071d4272004-06-13 20:20:40 +000027void _cdecl SaveInst(HINSTANCE hInst);
Bram Moolenaar071d4272004-06-13 20:20:40 +000028#endif
29
Bram Moolenaarb26705a2019-04-02 22:02:32 +020030#ifndef PROTO
Bram Moolenaar071d4272004-06-13 20:20:40 +000031 int WINAPI
32WinMain(
Bram Moolenaarb26705a2019-04-02 22:02:32 +020033 HINSTANCE hInstance,
Bram Moolenaar1266d672017-02-01 13:43:36 +010034 HINSTANCE hPrevInst UNUSED,
Bram Moolenaar760285d2019-03-27 21:59:45 +010035 LPSTR lpszCmdLine UNUSED,
Bram Moolenaar1266d672017-02-01 13:43:36 +010036 int nCmdShow UNUSED)
Bram Moolenaar071d4272004-06-13 20:20:40 +000037{
Bram Moolenaar15d0a8c2004-09-06 17:44:46 +000038 int argc = 0;
Bram Moolenaar760285d2019-03-27 21:59:45 +010039 char **argv = NULL;
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
Bram Moolenaarb26705a2019-04-02 22:02:32 +020041# ifdef FEAT_GUI
42 SaveInst(hInstance);
43# endif
44 VimMain(argc, argv);
Bram Moolenaar071d4272004-06-13 20:20:40 +000045
46 return 0;
47}
48#endif