Module: wine
Branch: master
Commit: d3b55e99e98a966d5357613656c99b5d1b0a0913
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d3b55e99e98a966d535761365…
Author: Hugh McMaster <hugh.mcmaster(a)outlook.com>
Date: Mon Aug 31 19:51:44 2015 +1000
regsvr32: Process flags before files.
---
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;