Handle quoting on the command line in uninstaller.

This commit is contained in:
Mike McCormack 2003-10-09 19:45:54 +00:00 committed by Alexandre Julliard
parent 9964e42988
commit a300682f53
2 changed files with 31 additions and 21 deletions

View File

@ -3,7 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = uninstaller.exe
APPMODE = gui
APPMODE = cui
IMPORTS = user32 gdi32 advapi32 kernel32
C_SRCS = \

View File

@ -121,32 +121,42 @@ 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 )
{
token = argv[i++];
/* Handle requests just to list the programs */
if( !lstrcmpA( token, "--list" ) )
{
ListUninstallPrograms();
return(0);
return 0;
}
/*------------------------------------------------------------------------
** Handle requests to remove one program
**----------------------------------------------------------------------*/
if (cmdline && strlen(cmdline) > 9 && memcmp(cmdline, "--remove ", 9) == 0)
else if( !lstrcmpA( token, "--remove" ) )
{
RemoveSpecificProgram(cmdline + 9);
return(0);
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));
@ -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) ) {