Handle quoting on the command line in uninstaller.
This commit is contained in:
parent
9964e42988
commit
a300682f53
|
@ -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 = \
|
||||||
|
|
|
@ -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) ) {
|
||||||
|
|
Loading…
Reference in New Issue