Clean up Windows DRT's option parsing a little bit
authoraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Nov 2007 00:02:29 +0000 (00:02 +0000)
committeraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Nov 2007 00:02:29 +0000 (00:02 +0000)
         Reviewed by Sam.

         * DumpRenderTree/win/DumpRenderTree.cpp:
         (main): Put non-option arguments into a Vector.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28020 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/win/DumpRenderTree.cpp

index 3e2d35f5ece0dfd5d561be53a8fcb164d3487147..abdc510900d5504870b3ccf6519f972ba33c8d23 100644 (file)
@@ -1,3 +1,12 @@
+2007-11-25  Adam Roben  <aroben@apple.com>
+
+        Clean up Windows DRT's option parsing a little bit
+
+        Reviewed by Sam.
+
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        (main): Put non-option arguments into a Vector.
+
 2007-11-25  Adam Roben  <aroben@apple.com>
 
         Make Windows DRT stop changing LF into CRLF
index a27b74f3014c210d7a03b7e443cf3e6d2e9b531f..014ecd40cbfd947f36980a099193af89612e4860 100644 (file)
@@ -812,7 +812,16 @@ int main(int argc, char* argv[])
 
     initialize(GetModuleHandle(0));
 
-    // FIXME: options
+    Vector<const char*> tests;
+
+    for (int i = 1; i < argc; ++i) {
+        if (!stricmp(argv[i], "--threaded")) {
+            threaded = true;
+            continue;
+        }
+
+        tests.append(argv[i]);
+    }
 
     COMPtr<IWebView> webView;
     HRESULT hr = CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView, (void**)&webView);
@@ -896,18 +905,10 @@ int main(int argc, char* argv[])
         _CrtMemCheckpoint(&entryToMainMemCheckpoint);
 #endif
 
-    for (int i = 0; i < argc; ++i)
-        if (!stricmp(argv[i], "--threaded")) {
-            argv[i] = argv[argc - 1];
-            argc--;
-            threaded = true;
-            break;
-        }
-
     if (threaded)
         startJavaScriptThreads();
 
-    if (argc == 2 && strcmp(argv[1], "-") == 0) {
+    if (tests.size() == 1 && !strcmp(tests[0], "-")) {
         char filenameBuffer[2048];
         printSeparators = true;
         while (fgets(filenameBuffer, sizeof(filenameBuffer), stdin)) {
@@ -922,9 +923,9 @@ int main(int argc, char* argv[])
             fflush(stdout);
         }
     } else {
-        printSeparators = argc > 2;
-        for (int i = 1; i != argc; i++)
-            runTest(argv[i]);
+        printSeparators = tests.size() > 1;
+        for (int i = 0; i < tests.size(); i++)
+            runTest(tests[i]);
     }
 
     if (threaded)