Browse Source

Refactoring

Source commit: 6405ab091bb29ece5c256b5dd3ea04af340674d0
Martin Prikryl 3 years ago
parent
commit
26f21335e6
1 changed files with 9 additions and 18 deletions
  1. 9 18
      source/core/SessionData.cpp

+ 9 - 18
source/core/SessionData.cpp

@@ -2061,7 +2061,7 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
   TStoredSessionList * StoredSessions, bool & DefaultsOnly, UnicodeString * FileName,
   bool * AProtocolDefined, UnicodeString * MaskedUrl, int Flags)
 {
-  bool ProtocolDefined = false;
+  bool ProtocolDefined = true;
   bool PortNumberDefined = false;
   TFSProtocol AFSProtocol;
   int DefaultProtocolPortNumber;
@@ -2072,39 +2072,29 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
   {
     AFSProtocol = fsSCPonly;
     DefaultProtocolPortNumber = SshPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, SftpProtocol, ProtocolLen))
   {
     AFSProtocol = fsSFTPonly;
     DefaultProtocolPortNumber = SshPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, FtpProtocol, ProtocolLen))
   {
     AFSProtocol = fsFTP;
     Ftps = ftpsNone;
     DefaultProtocolPortNumber = FtpPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, FtpsProtocol, ProtocolLen))
   {
     AFSProtocol = fsFTP;
     AFtps = ftpsImplicit;
     DefaultProtocolPortNumber = FtpsImplicitPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, FtpesProtocol, ProtocolLen))
   {
     AFSProtocol = fsFTP;
     AFtps = ftpsExplicitTls;
     DefaultProtocolPortNumber = FtpPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, WebDAVProtocol, ProtocolLen) ||
            (HttpForWebdav && IsProtocolUrl(Url, HttpProtocol, ProtocolLen)))
@@ -2112,8 +2102,6 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
     AFSProtocol = fsWebDAV;
     AFtps = ftpsNone;
     DefaultProtocolPortNumber = HTTPPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, WebDAVSProtocol, ProtocolLen) ||
            (HttpForWebdav && IsProtocolUrl(Url, HttpsProtocol, ProtocolLen)))
@@ -2121,8 +2109,6 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
     AFSProtocol = fsWebDAV;
     AFtps = ftpsImplicit;
     DefaultProtocolPortNumber = HTTPSPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, S3Protocol, ProtocolLen) ||
            IsProtocolUrl(Url, HttpProtocol, ProtocolLen) || // sic
@@ -2131,8 +2117,6 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
     AFSProtocol = fsS3;
     AFtps = ftpsImplicit;
     DefaultProtocolPortNumber = HTTPSPortNumber;
-    MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
   else if (IsProtocolUrl(Url, SshProtocol, ProtocolLen))
   {
@@ -2141,8 +2125,15 @@ bool __fastcall TSessionData::ParseUrl(UnicodeString Url, TOptions * Options,
     AFSProtocol = fsSFTPonly;
     PuttyProtocol = PuttySshProtocol;
     DefaultProtocolPortNumber = SshPortNumber;
+  }
+  else
+  {
+    ProtocolDefined = false;
+  }
+
+  if (ProtocolDefined)
+  {
     MoveStr(Url, MaskedUrl, ProtocolLen);
-    ProtocolDefined = true;
   }
 
   if (ProtocolDefined && (Url.SubString(1, 2) == L"//"))