From 61bb57de5190285bfaa99857575ada03cc4e4685 Mon Sep 17 00:00:00 2001
From: hxhlb <wzawzpopo@qq.com>
Date: Mon, 2 Nov 2020 09:26:40 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=BA=E5=BA=8F=E5=91=BD?=
 =?UTF-8?q?=E4=BB=A4=E8=A1=8C=E7=9A=84=E5=88=A4=E5=AE=9A=E6=96=B9=E5=BC=8F?=
 =?UTF-8?q?.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 SparkWebAppRuntime/main.cpp | 50 ++++++++++++++++++++++++-------------
 1 file changed, 32 insertions(+), 18 deletions(-)

diff --git a/SparkWebAppRuntime/main.cpp b/SparkWebAppRuntime/main.cpp
index a3ea49f..0621704 100644
--- a/SparkWebAppRuntime/main.cpp
+++ b/SparkWebAppRuntime/main.cpp
@@ -213,34 +213,48 @@ int main(int argc, char *argv[])
         u16sslPort = parser.value(optSSLPort).toUInt();
     }
 #endif
-    if (!parser.isSet(optParser))
-    {
-        do
-        {
-            // 按照固定顺序级别最优先
-#if SSL_SERVER
-            if (argc != 10)
-#else
-            if (argc != 9)
-#endif
-            {
-                break;
-            }
 
+    // 没设置 -p 并且参数个数>1 并且第一个参数不是-开始的
+    if (!parser.isSet(optParser) && argc > 1 && !QString(argv[1]).startsWith("-"))
+    {
+        // 按照固定顺序级别最优先
+        if (argc > 1)
+        {
             szTitle = argv[1];
+        }
+        if (argc > 2)
+        {
             szUrl = argv[2];
+        }
+        if (argc > 3)
+        {
             width = QString(argv[3]).toInt();
+        }
+        if (argc > 4)
+        {
             height = QString(argv[4]).toInt();
+        }
+        if (argc > 5)
+        {
             szIcon = QString(argv[5]);
+        }
+        if (argc > 6)
             szDesc = QString("%1<br/><br/>%2").arg(QString(argv[6]))
                      .arg(szDefaultDesc);;
+        if (argc > 7)
+        {
             szRootPath = QString(argv[7]);
-            u16Port = QString(argv[8]).toUInt();
-#if SSL_SERVER
-            u16sslPort = QString(argv[9]).toUInt();
-#endif
         }
-        while (false);
+        if (argc > 8)
+        {
+            u16Port = QString(argv[8]).toUInt();
+        }
+#if SSL_SERVER
+        if (argc > 9)
+        {
+            u16sslPort = QString(argv[9]).toUInt();
+        }
+#endif
     }
 
     MainWindow w(szTitle, szUrl, width, height);