X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=win32.c;h=39a4819dd58f913206d4bcecc6207a825b22b3bc;hp=8c1eb3f16dcaab29b620bb1ae13a08e9df8de3e2;hb=5d67369224f780b21d94cacf31dbcdf288c7ed6c;hpb=51372679fa2205631ee27c6ac621449bcdd083c3 diff --git a/win32.c b/win32.c index 8c1eb3f1..39a4819d 100644 --- a/win32.c +++ b/win32.c @@ -1,4 +1,3 @@ -const char win32_rcs[] = "$Id: win32.c,v 1.6 2002/03/16 21:53:28 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/win32.c,v $ @@ -6,12 +5,12 @@ const char win32_rcs[] = "$Id: win32.c,v 1.6 2002/03/16 21:53:28 jongfoster Exp * Purpose : Win32 User Interface initialization and message loop * * Copyright : Written by and Copyright (C) 2001-2002 members of - * the Privoxy team. http://privoxy.org/ + * the Privoxy team. https://www.privoxy.org/ * * Written by and Copyright (C) 1999 Adam Lock * * - * This program is free software; you can redistribute it + * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General * Public License as published by the Free Software * Foundation; either version 2 of the License, or (at @@ -29,30 +28,8 @@ const char win32_rcs[] = "$Id: win32.c,v 1.6 2002/03/16 21:53:28 jongfoster Exp * or write to the Free Software Foundation, Inc., 59 * Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * Revisions : - * $Log: win32.c,v $ - * Revision 1.6 2002/03/16 21:53:28 jongfoster - * VC++ Heap debug option - * - * Revision 1.5 2002/03/04 23:47:30 jongfoster - * - Rewritten, simpler command-line pre-parser - * - not using raise(SIGINT) any more - * - * Revision 1.4 2001/11/30 21:29:33 jongfoster - * Fixing a warning - * - * Revision 1.3 2001/11/16 00:46:31 jongfoster - * Fixing compiler warnings - * - * Revision 1.2 2001/07/29 19:32:00 jongfoster - * Renaming _main() [mingw32 only] to real_main(), for ANSI compliance. - * - * Revision 1.1.1.1 2001/05/15 13:59:08 oes - * Initial import of version 2.9.3 source tree - * - * *********************************************************************/ - + #include "config.h" @@ -67,6 +44,9 @@ const char win32_rcs[] = "$Id: win32.c,v 1.6 2002/03/16 21:53:28 jongfoster Exp /* Uncomment this if you want to build Win32 as a console app */ /* #define _WIN_CONSOLE */ +#ifndef STRICT +#define STRICT +#endif #include #include @@ -79,33 +59,46 @@ const char win32_rcs[] = "$Id: win32.c,v 1.6 2002/03/16 21:53:28 jongfoster Exp #include "win32.h" -const char win32_h_rcs[] = WIN32_H_VERSION; - +/** + * A short introductory text about Privoxy. Used for the "About" box + * or the console startup message. + */ const char win32_blurb[] = "Privoxy version " VERSION " for Windows\n" -"Copyright (C) 2000-2002 by members of the Privoxy Team\n" -"Copyright (C) 1997-8 by Junkbusters Corp.\n" +"Copyright (C) 2000-2021 the Privoxy Team (" HOME_PAGE_URL ")\n" +"Based on the Internet Junkbuster by Junkbusters Corp.\n" "This is free software; it may be used and copied under the\n" -"GNU General Public License: http://www.gnu.org/copyleft/gpl.html .\n" -"This program comes with ABSOLUTELY NO WARRANTY OF ANY KIND.\n" -"\n" -"For information about how to to configure the proxy and your browser, see\n" -" " HOME_PAGE_URL "\n" -"\n"; +"GNU General Public License, version 2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n" +"This program comes with ABSOLUTELY NO WARRANTY OF ANY KIND.\n"; #ifdef _WIN_CONSOLE +/** + * Hide the console. If set, the program will disconnect from the + * console and run in the background. This allows the command-prompt + * window to close. + */ int hideConsole = 0; -#else +#else /* ndef _WIN_CONSOLE */ + + +/** + * The application instance handle. + */ HINSTANCE g_hInstance; + + +/** + * The command to show the window that was specified at startup. + */ int g_nCmdShow; static void __cdecl UserInterfaceThread(void *); -#endif +#endif /* ndef _WIN_CONSOLE */ /********************************************************************* * @@ -127,11 +120,14 @@ static void __cdecl UserInterfaceThread(void *); *********************************************************************/ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { +#if 0 /* See comment about __argc & __argv below */ int i; - int res; int argc = 1; const char *argv[3]; char szModule[MAX_PATH+1]; +#endif + + int res; #ifndef _WIN_CONSOLE HANDLE hInitCompleteEvent = NULL; #endif @@ -142,7 +138,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine /* Visual C++ Heap debugging */ /* Get current flag*/ - int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); + int tmpFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); /* Turn on leak-checking bit */ tmpFlag |= _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF; @@ -151,13 +147,23 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine tmpFlag &= ~(_CRTDBG_CHECK_CRT_DF | _CRTDBG_DELAY_FREE_MEM_DF); /* Set flag to the new value */ - _CrtSetDbgFlag( tmpFlag ); + _CrtSetDbgFlag(tmpFlag); #endif #endif /* defined(_WIN32) && defined(_MSC_VER) && defined(_DEBUG) */ + +/************ + * I couldn't figure out why the command line was being sorta parsed here + * instead of using the __argc & __argv globals usually defined in stdlib.h + * + * From what I can tell by looking at the MinWG source, it supports these + * globals, so i'd hope that the other compilers do so as well. + * Obviously, if i'm wrong i'll find out soon enough! :) + ************/ +#if 0 /* * Cheat in parsing the command line. We only ever have at most one - * paramater, which may optionally be specified inside double quotes. + * parameter, which may optionally be specified inside double quotes. */ if (lpCmdLine != NULL) @@ -185,6 +191,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine argv[1] = lpCmdLine; argv[2] = NULL; argc = ((lpCmdLine != NULL) ? 2 : 1); +#endif /* -END- 0 */ + #ifndef _WIN_CONSOLE /* Create a user-interface thread and wait for it to initialise */ @@ -193,13 +201,13 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine g_nCmdShow = nCmdShow; _beginthread(UserInterfaceThread, 0, &hInitCompleteEvent); WaitForSingleObject(hInitCompleteEvent, INFINITE); - DeleteObject(hInitCompleteEvent); + CloseHandle(hInitCompleteEvent); #endif #ifdef __MINGW32__ - res = real_main( argc, argv ); + res = real_main(__argc, __argv); #else - res = main( argc, argv ); + res = main(__argc, __argv); #endif return res; @@ -235,8 +243,8 @@ void InitWin32(void) if (WSAStartup(wVersionRequested, &wsaData) != 0) { #ifndef _WIN_CONSOLE - MessageBox(NULL, "Cannot initialize WinSock library", "Privoxy Error", - MB_OK | MB_ICONERROR | MB_TASKMODAL | MB_SETFOREGROUND | MB_TOPMOST); + MessageBox(NULL, "Cannot initialize WinSock library", "Privoxy Error", + MB_OK | MB_ICONERROR | MB_TASKMODAL | MB_SETFOREGROUND | MB_TOPMOST); #endif exit(1); } @@ -292,7 +300,7 @@ static void __cdecl UserInterfaceThread(void *pData) } -#endif +#endif /* ndef _WIN_CONSOLE */ /*