From f7825e001654cc93c96c93670badea4356096fa0 Mon Sep 17 00:00:00 2001 From: psychon Date: Thu, 29 Jan 2009 15:39:26 +0000 Subject: [PATCH] Make CFile::IsDir() work on those weird OS that don't like trailing slashes Yeah, I'm talking windows here. git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1355 726aef4b-f618-498e-8847-2d620e286838 --- FileUtils.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/FileUtils.cpp b/FileUtils.cpp index fe7f116e..d32f0ea3 100644 --- a/FileUtils.cpp +++ b/FileUtils.cpp @@ -57,8 +57,13 @@ void CFile::SetFileName(const CString& sLongName) { } } +bool CFile::IsDir(const CString& sLongName, bool bUseLstat) { + // Some OS don't like trailing slashes for directories + return CFile::FType(sLongName.Trim_Right_n("/"), + FT_DIRECTORY, bUseLstat); +} + bool CFile::IsReg(const CString& sLongName, bool bUseLstat) { return CFile::FType(sLongName, FT_REGULAR, bUseLstat); } -bool CFile::IsDir(const CString& sLongName, bool bUseLstat) { return CFile::FType(sLongName, FT_DIRECTORY, bUseLstat); } bool CFile::IsChr(const CString& sLongName, bool bUseLstat) { return CFile::FType(sLongName, FT_CHARACTER, bUseLstat); } bool CFile::IsBlk(const CString& sLongName, bool bUseLstat) { return CFile::FType(sLongName, FT_BLOCK, bUseLstat); } bool CFile::IsFifo(const CString& sLongName, bool bUseLstat) { return CFile::FType(sLongName, FT_FIFO, bUseLstat); }