commit
cc9bd0b0f0
|
@ -51,29 +51,15 @@
|
||||||
// REMEMBER: strdup considered harmful!
|
// REMEMBER: strdup considered harmful!
|
||||||
namespace File
|
namespace File
|
||||||
{
|
{
|
||||||
// Remove any ending forward slashes from directory paths
|
|
||||||
// Modifies argument.
|
|
||||||
static void StripTailDirSlashes(std::string& fname)
|
|
||||||
{
|
|
||||||
if (fname.length() > 1)
|
|
||||||
{
|
|
||||||
while (fname.back() == DIR_SEP_CHR)
|
|
||||||
fname.pop_back();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if file filename exists
|
// Returns true if file filename exists
|
||||||
bool Exists(const std::string& filename)
|
bool Exists(const std::string& filename)
|
||||||
{
|
{
|
||||||
struct stat file_info;
|
struct stat file_info;
|
||||||
|
|
||||||
std::string copy(filename);
|
|
||||||
StripTailDirSlashes(copy);
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
int result = _tstat64(UTF8ToTStr(copy).c_str(), &file_info);
|
int result = _tstat64(UTF8ToTStr(filename).c_str(), &file_info);
|
||||||
#else
|
#else
|
||||||
int result = stat(copy.c_str(), &file_info);
|
int result = stat(filename.c_str(), &file_info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return (result == 0);
|
return (result == 0);
|
||||||
|
@ -84,19 +70,15 @@ bool IsDirectory(const std::string& filename)
|
||||||
{
|
{
|
||||||
struct stat file_info;
|
struct stat file_info;
|
||||||
|
|
||||||
std::string copy(filename);
|
|
||||||
StripTailDirSlashes(copy);
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
int result = _tstat64(UTF8ToTStr(copy).c_str(), &file_info);
|
int result = _tstat64(UTF8ToTStr(filename).c_str(), &file_info);
|
||||||
#else
|
#else
|
||||||
int result = stat(copy.c_str(), &file_info);
|
int result = stat(filename.c_str(), &file_info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
{
|
{
|
||||||
WARN_LOG(COMMON, "IsDirectory: stat failed on %s: %s", filename.c_str(),
|
WARN_LOG(COMMON, "IsDirectory: stat failed on %s: %s", filename.c_str(), strerror(errno));
|
||||||
GetLastErrorMsg().c_str());
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue