Skip to content

Commit

Permalink
Merge pull request #5430 from ace20022/IsStar
Browse files Browse the repository at this point in the history
[URIUtils] Fix IsSmb, IsFTP, IsAfp, IsDAV and IsNfs.
  • Loading branch information
ace20022 committed Jan 20, 2015
2 parents d061701 + dbe7203 commit a49da62
Showing 1 changed file with 49 additions and 24 deletions.
73 changes: 49 additions & 24 deletions xbmc/utils/URIUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -800,12 +800,17 @@ bool URIUtils::IsISO9660(const std::string& strFile)

bool URIUtils::IsSmb(const std::string& strFile)
{
std::string strFile2(strFile);

if (IsStack(strFile))
strFile2 = CStackDirectory::GetFirstStackedFile(strFile);
return IsSmb(CStackDirectory::GetFirstStackedFile(strFile));

return IsProtocol(strFile2, "smb");
if (IsSpecial(strFile))
return IsSmb(CSpecialProtocol::TranslatePath(strFile));

CURL url(strFile);
if (HasParentInHostname(url))
return IsSmb(url.GetHostName());

return IsProtocol(strFile, "smb");
}

bool URIUtils::IsURL(const std::string& strFile)
Expand All @@ -815,13 +820,18 @@ bool URIUtils::IsURL(const std::string& strFile)

bool URIUtils::IsFTP(const std::string& strFile)
{
std::string strFile2(strFile);

if (IsStack(strFile))
strFile2 = CStackDirectory::GetFirstStackedFile(strFile);
return IsFTP(CStackDirectory::GetFirstStackedFile(strFile));

return IsProtocol(strFile2, "ftp") ||
IsProtocol(strFile2, "ftps");
if (IsSpecial(strFile))
return IsFTP(CSpecialProtocol::TranslatePath(strFile));

CURL url(strFile);
if (HasParentInHostname(url))
return IsFTP(url.GetHostName());

return IsProtocol(strFile, "ftp") ||
IsProtocol(strFile, "ftps");
}

bool URIUtils::IsUDP(const std::string& strFile)
Expand Down Expand Up @@ -856,13 +866,18 @@ bool URIUtils::IsPVRChannel(const std::string& strFile)

bool URIUtils::IsDAV(const std::string& strFile)
{
std::string strFile2(strFile);

if (IsStack(strFile))
strFile2 = CStackDirectory::GetFirstStackedFile(strFile);
return IsDAV(CStackDirectory::GetFirstStackedFile(strFile));

return IsProtocol(strFile2, "dav") ||
IsProtocol(strFile2, "davs");
if (IsSpecial(strFile))
return IsDAV(CSpecialProtocol::TranslatePath(strFile));

CURL url(strFile);
if (HasParentInHostname(url))
return IsDAV(url.GetHostName());

return IsProtocol(strFile, "dav") ||
IsProtocol(strFile, "davs");
}

bool URIUtils::IsInternetStream(const std::string &path, bool bStrictCheck /* = false */)
Expand Down Expand Up @@ -976,22 +991,32 @@ bool URIUtils::IsMusicDb(const std::string& strFile)

bool URIUtils::IsNfs(const std::string& strFile)
{
std::string strFile2(strFile);

if (IsStack(strFile))
strFile2 = CStackDirectory::GetFirstStackedFile(strFile);

return IsProtocol(strFile2, "nfs");
return IsNfs(CStackDirectory::GetFirstStackedFile(strFile));

if (IsSpecial(strFile))
return IsNfs(CSpecialProtocol::TranslatePath(strFile));

CURL url(strFile);
if (HasParentInHostname(url))
return IsNfs(url.GetHostName());

return IsProtocol(strFile, "nfs");
}

bool URIUtils::IsAfp(const std::string& strFile)
{
std::string strFile2(strFile);

if (IsStack(strFile))
strFile2 = CStackDirectory::GetFirstStackedFile(strFile);

return IsProtocol(strFile2, "afp");
return IsAfp(CStackDirectory::GetFirstStackedFile(strFile));

if (IsSpecial(strFile))
return IsAfp(CSpecialProtocol::TranslatePath(strFile));

CURL url(strFile);
if (HasParentInHostname(url))
return IsAfp(url.GetHostName());

return IsProtocol(strFile, "afp");
}


Expand Down

0 comments on commit a49da62

Please sign in to comment.