regsvr32: Process flags before files (bug 38870)
Hugh McMaster
hugh.mcmaster at outlook.com
Mon Aug 31 04:51:44 CDT 2015
Fixes 28 test failures (from 79 existing failures and a total of 168 tests).
---
programs/regsvr32/regsvr32.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/programs/regsvr32/regsvr32.c b/programs/regsvr32/regsvr32.c
index 449124f..8d1ab17 100644
--- a/programs/regsvr32/regsvr32.c
+++ b/programs/regsvr32/regsvr32.c
@@ -231,10 +231,8 @@ int wmain(int argc, WCHAR* argv[])
OleInitialize(NULL);
- /* Strictly, the Microsoft version processes all the flags before
+ /* We mirror the Microsoft version by processing all of the flags before
* the files (e.g. regsvr32 file1 /s file2 is silent even for file1).
- * For ease, we will not replicate that and will process the arguments
- * in order.
*
* Note the complication that this version may be passed Unix format filenames
* which could be mistaken for flags. The Windows version conveniently
@@ -270,8 +268,13 @@ int wmain(int argc, WCHAR* argv[])
output_write(STRING_USAGE);
return 1;
}
+ argv[i] = NULL;
}
- else
+ }
+
+ for (i = 1; i < argc; i++)
+ {
+ if (argv[i])
{
WCHAR *DllName = argv[i];
int res = 0;
--
1.9.1
More information about the wine-patches
mailing list