Converted uninstaller to a cui app on Alexandre's suggestion.
Mike
ChangeLog: * handle quoting on the command line in uninstaller
Index: programs/uninstaller/Makefile.in =================================================================== RCS file: /home/wine/wine/programs/uninstaller/Makefile.in,v retrieving revision 1.12 diff -u -r1.12 Makefile.in --- programs/uninstaller/Makefile.in 4 Oct 2003 03:10:59 -0000 1.12 +++ programs/uninstaller/Makefile.in 9 Oct 2003 05:26:44 -0000 @@ -3,7 +3,7 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = uninstaller.exe -APPMODE = gui +APPMODE = cui IMPORTS = user32 gdi32 advapi32 kernel32 C_SRCS = \ Index: programs/uninstaller/main.c =================================================================== RCS file: /home/wine/wine/programs/uninstaller/main.c,v retrieving revision 1.12 diff -u -r1.12 main.c --- programs/uninstaller/main.c 25 Sep 2003 20:21:47 -0000 1.12 +++ programs/uninstaller/main.c 9 Oct 2003 05:26:44 -0000 @@ -121,33 +121,43 @@ } } - -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 @@ if (!hWnd) exit(1); - ShowWindow( hWnd, cmdshow ); + ShowWindow( hWnd, SW_SHOW ); UpdateWindow( hWnd ); while( GetMessage(&msg, NULL_HANDLE, 0, 0) ) {