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@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
MODULE = uninstaller.exe MODULE = uninstaller.exe
APPMODE = gui APPMODE = cui
IMPORTS = user32 gdi32 advapi32 kernel32 IMPORTS = user32 gdi32 advapi32 kernel32
C_SRCS = \ C_SRCS = \

View File

@ -121,33 +121,43 @@ void RemoveSpecificProgram(char *name)
} }
} }
int main( int argc, char *argv[])
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmdshow )
{ {
MSG msg; MSG msg;
WNDCLASS wc; WNDCLASS wc;
HWND hWnd; HWND hWnd;
LPSTR token = NULL;
int i = 1;
HINSTANCE hInst = NULL;
/*------------------------------------------------------------------------ while( i<argc )
** Handle requests just to list the programs
**----------------------------------------------------------------------*/
if (cmdline && strlen(cmdline) >= 6 && memcmp(cmdline, "--list", 6) == 0)
{ {
ListUninstallPrograms(); token = argv[i++];
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;
}
} }
/*------------------------------------------------------------------------
** Handle requests to remove one program
**----------------------------------------------------------------------*/
if (cmdline && strlen(cmdline) > 9 && memcmp(cmdline, "--remove ", 9) == 0)
{
RemoveSpecificProgram(cmdline + 9);
return(0);
}
LoadString( hInst, IDS_APPNAME, appname, sizeof(appname)); LoadString( hInst, IDS_APPNAME, appname, sizeof(appname));
wc.style = 0; wc.style = 0;
@ -169,7 +179,7 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmd
if (!hWnd) exit(1); if (!hWnd) exit(1);
ShowWindow( hWnd, cmdshow ); ShowWindow( hWnd, SW_SHOW );
UpdateWindow( hWnd ); UpdateWindow( hWnd );
while( GetMessage(&msg, NULL_HANDLE, 0, 0) ) { while( GetMessage(&msg, NULL_HANDLE, 0, 0) ) {