diff options
Diffstat (limited to 'winsup/cygwin/libcmain.cc')
-rw-r--r-- | winsup/cygwin/libcmain.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/winsup/cygwin/libcmain.cc b/winsup/cygwin/libcmain.cc new file mode 100644 index 0000000..a8ae341 --- /dev/null +++ b/winsup/cygwin/libcmain.cc @@ -0,0 +1,34 @@ +/* libcmain.cc + + Copyright 1996, 1997, 1998 Cygnus Solutions. + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#include <windows.h> + +/* Allow apps which don't have a main work, as long as they define WinMain */ +extern "C" int main () +{ + HMODULE x = GetModuleHandleA(0); + char *s = GetCommandLineA (); + STARTUPINFO si; + + /* GetCommandLineA returns the entire command line including the + program name, but WinMain is defined to accept the command + line without the program name. */ + while (*s != ' ' && *s != '\0') + ++s; + while (*s == ' ') + ++s; + + GetStartupInfo (&si); + + WinMain (x, 0, s, + ((si.dwFlags & STARTF_USESHOWWINDOW) != 0 + ? si.wShowWindow + : SW_SHOWNORMAL)); +} |