diff --git a/src/Config.cpp b/src/Config.cpp index a77fc9ed..9cce510c 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -87,7 +87,7 @@ bool CConfig::Parse(CFile& file, CString& sErrorMsg) if (bCommented || sLine.StartsWith("/*")) { /* Does this comment end on the same line again? */ - bCommented = (sLine.Right(2) != "*/"); + bCommented = (!sLine.EndsWith("*/")); continue; } @@ -96,7 +96,7 @@ bool CConfig::Parse(CFile& file, CString& sErrorMsg) continue; } - if ((sLine.StartsWith("<")) && (sLine.Right(1) == ">")) { + if ((sLine.StartsWith("<")) && (sLine.EndsWith(">"))) { sLine.LeftChomp(); sLine.RightChomp(); sLine.Trim(); diff --git a/src/FileUtils.cpp b/src/FileUtils.cpp index 3e76ffdb..5406ec6e 100644 --- a/src/FileUtils.cpp +++ b/src/FileUtils.cpp @@ -483,7 +483,7 @@ CString CFile::GetShortName() const { return m_sShortName; } CString CFile::GetDir() const { CString sDir(m_sLongName); - while (!sDir.empty() && sDir.Right(1) != "/" && sDir.Right(1) != "\\") { + while (!sDir.empty() && !sDir.EndsWith("/") && !sDir.EndsWith("\\")) { sDir.RightChomp(); } diff --git a/src/HTTPSock.cpp b/src/HTTPSock.cpp index 7a48fe00..6acbfbba 100644 --- a/src/HTTPSock.cpp +++ b/src/HTTPSock.cpp @@ -333,21 +333,21 @@ bool CHTTPSock::PrintFile(const CString& sFileName, CString sContentType) { } if (sContentType.empty()) { - if (sFileName.Right(5).Equals(".html") || sFileName.Right(4).Equals(".htm")) { + if (sFileName.EndsWith(".html") || sFileName.EndsWith(".htm")) { sContentType = "text/html; charset=utf-8"; - } else if (sFileName.Right(4).Equals(".css")) { + } else if (sFileName.EndsWith(".css")) { sContentType = "text/css; charset=utf-8"; - } else if (sFileName.Right(3).Equals(".js")) { + } else if (sFileName.EndsWith(".js")) { sContentType = "application/x-javascript; charset=utf-8"; - } else if (sFileName.Right(4).Equals(".jpg")) { + } else if (sFileName.EndsWith(".jpg")) { sContentType = "image/jpeg"; - } else if (sFileName.Right(4).Equals(".gif")) { + } else if (sFileName.EndsWith(".gif")) { sContentType = "image/gif"; - } else if (sFileName.Right(4).Equals(".ico")) { + } else if (sFileName.EndsWith(".ico")) { sContentType = "image/x-icon"; - } else if (sFileName.Right(4).Equals(".png")) { + } else if (sFileName.EndsWith(".png")) { sContentType = "image/png"; - } else if (sFileName.Right(4).Equals(".bmp")) { + } else if (sFileName.EndsWith(".bmp")) { sContentType = "image/bmp"; } else { sContentType = "text/plain; charset=utf-8"; @@ -385,7 +385,7 @@ bool CHTTPSock::PrintFile(const CString& sFileName, CString sContentType) { } #ifdef HAVE_ZLIB - bool bGzip = m_bAcceptGzip && (sContentType.StartsWith("text/") || sFileName.Right(3).Equals(".js")); + bool bGzip = m_bAcceptGzip && (sContentType.StartsWith("text/") || sFileName.EndsWith(".js")); if (bGzip) { DEBUG("- Sending gzip-compressed."); diff --git a/src/Template.cpp b/src/Template.cpp index 46965a31..8db75824 100644 --- a/src/Template.cpp +++ b/src/Template.cpp @@ -119,7 +119,7 @@ CString CTemplate::ExpandFile(const CString& sFilename, bool bFromInc) { CString sFilePath(CDir::ChangeDir(sRoot, sFile)); // Make sure path ends with a slash because "/foo/pub*" matches "/foo/public_keep_out/" but "/foo/pub/*" doesn't - if (!sRoot.empty() && sRoot.Right(1) != "/") { + if (!sRoot.empty() && !sRoot.EndsWith("/")) { sRoot += "/"; } @@ -164,7 +164,7 @@ void CTemplate::SetPath(const CString& sPaths) { CString CTemplate::MakePath(const CString& sPath) const { CString sRet(CDir::ChangeDir("./", sPath + "/")); - if (!sRet.empty() && sRet.Right(1) != "/") { + if (!sRet.empty() && !sRet.EndsWith("/")) { sRet += "/"; } diff --git a/src/Utils.cpp b/src/Utils.cpp index bd88e18c..3dbd18c8 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -466,7 +466,7 @@ namespace { CString sName = pFile->GetShortName(); CString sFile = pFile->GetLongName(); if (sName == "posix" || sName == "right") continue; // these 2 dirs contain the same filenames - if (sName.Right(4) == ".tab" || sName == "posixrules" || sName == "localtime") continue; + if (sName.EndsWith(".tab") || sName == "posixrules" || sName == "localtime") continue; if (pFile->IsDir()) { if (sName == "Etc") { FillTimezones(sFile, result, sPrefix); diff --git a/src/WebModules.cpp b/src/WebModules.cpp index 9c86d67c..a85d7b9e 100644 --- a/src/WebModules.cpp +++ b/src/WebModules.cpp @@ -670,7 +670,7 @@ CWebSock::EPageReqResult CWebSock::OnPageRequestInternal(const CString& sURI, CS return PAGE_NOTFOUND; } else if (sURI.StartsWith("/mods/") || sURI.StartsWith("/modfiles/")) { // Make sure modules are treated as directories - if (sURI.Right(1) != "/" && sURI.find(".") == CString::npos && sURI.TrimLeft_n("/mods/").TrimLeft_n("/").find("/") == CString::npos) { + if (!sURI.EndsWith("/") && sURI.find(".") == CString::npos && sURI.TrimLeft_n("/mods/").TrimLeft_n("/").find("/") == CString::npos) { Redirect(sURI + "/"); return PAGE_DONE; }