Skip to content
Snippets Groups Projects
Commit a300682f authored by Michael McCormack's avatar Michael McCormack Committed by Alexandre Julliard
Browse files

Handle quoting on the command line in uninstaller.

parent 9964e429
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = uninstaller.exe
APPMODE = gui
APPMODE = cui
IMPORTS = user32 gdi32 advapi32 kernel32
C_SRCS = \
......
......@@ -121,33 +121,43 @@ void RemoveSpecificProgram(char *name)
}
}
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmdshow )
int main( int argc, char *argv[])
{
MSG msg;
WNDCLASS wc;
HWND hWnd;
LPSTR token = NULL;
int i = 1;
HINSTANCE hInst = NULL;
/*------------------------------------------------------------------------
** Handle requests just to list the programs
**----------------------------------------------------------------------*/
if (cmdline && strlen(cmdline) >= 6 && memcmp(cmdline, "--list", 6) == 0)
while( i<argc )
{
ListUninstallPrograms();
return(0);
}
token = argv[i++];
/*------------------------------------------------------------------------
** Handle requests to remove one program
**----------------------------------------------------------------------*/
if (cmdline && strlen(cmdline) > 9 && memcmp(cmdline, "--remove ", 9) == 0)
{
RemoveSpecificProgram(cmdline + 9);
return(0);
/* Handle requests just to list the programs */
if( !lstrcmpA( token, "--list" ) )
{
ListUninstallPrograms();
return 0;
}
else if( !lstrcmpA( token, "--remove" ) )
{
if( i >= argc )
{
WINE_ERR( "The remove option requires a parameter.\n");
return 1;
}
RemoveSpecificProgram( argv[i++] );
return 0;
}
else
{
WINE_ERR( "unknown option %s\n",token);
return 1;
}
}
LoadString( hInst, IDS_APPNAME, appname, sizeof(appname));
wc.style = 0;
......@@ -169,7 +179,7 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmd
if (!hWnd) exit(1);
ShowWindow( hWnd, cmdshow );
ShowWindow( hWnd, SW_SHOW );
UpdateWindow( hWnd );
while( GetMessage(&msg, NULL_HANDLE, 0, 0) ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment