mirror of
https://github.com/reactos/wine.git
synced 2024-11-26 05:00:30 +00:00
Handle quoting on the command line in uninstaller.
This commit is contained in:
parent
9964e42988
commit
a300682f53
@ -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 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));
|
||||
|
||||
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) ) {
|
||||
|
Loading…
Reference in New Issue
Block a user