Browse Source

Factoring out TOptions::Parse

Source commit: 2f534e0c3c46af8c6ef25e6a64ad5066e6432692
Martin Prikryl 6 years ago
parent
commit
55a3b5b2d6
4 changed files with 13 additions and 10 deletions
  1. 10 0
      source/core/Option.cpp
  2. 1 0
      source/core/Option.h
  3. 1 6
      source/core/Script.cpp
  4. 1 4
      source/windows/ProgParams.cpp

+ 10 - 0
source/core/Option.cpp

@@ -20,6 +20,16 @@ __fastcall TOptions::TOptions()
   FParamCount = 0;
 }
 //---------------------------------------------------------------------------
+void __fastcall TOptions::Parse(const UnicodeString & CmdLine)
+{
+  UnicodeString ACmdLine = CmdLine;
+  UnicodeString Param;
+  while (CutToken(ACmdLine, Param))
+  {
+    Add(Param);
+  }
+}
+//---------------------------------------------------------------------------
 void __fastcall TOptions::Add(UnicodeString Value)
 {
   if (!FNoMoreSwitches &&

+ 1 - 0
source/core/Option.h

@@ -14,6 +14,7 @@ public:
   __fastcall TOptions();
 
   void __fastcall Add(UnicodeString Option);
+  void __fastcall Parse(const UnicodeString & CmdLine);
 
   bool __fastcall FindSwitch(const UnicodeString Switch);
   bool __fastcall FindSwitch(const UnicodeString Switch, UnicodeString & Value);

+ 1 - 6
source/core/Script.cpp

@@ -27,12 +27,7 @@ __fastcall TScriptProcParams::TScriptProcParams(const UnicodeString & FullComman
 
   FFullCommand = FullCommand;
   FParamsStr = ParamsStr;
-  UnicodeString Param;
-  UnicodeString AParamsStr = ParamsStr;
-  while (CutToken(AParamsStr, Param))
-  {
-    Add(Param);
-  }
+  Parse(ParamsStr);
 }
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------

+ 1 - 4
source/windows/ProgParams.cpp

@@ -34,10 +34,7 @@ void __fastcall TProgramParams::Init(const UnicodeString & CmdLine)
 
   UnicodeString Param;
   CutToken(CommandLine, Param);
-  while (CutToken(CommandLine, Param))
-  {
-    Add(Param);
-  }
+  Parse(CommandLine);
 }
 //---------------------------------------------------------------------------
 UnicodeString __fastcall TProgramParams::FormatSwitch(const UnicodeString & Switch)