1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-09 21:42:13 +00:00
OpenMW/tools/fileops.cpp

45 lines
829 B
C++
Raw Normal View History

2010-06-03 19:51:59 +00:00
#include "fileops.hpp"
// Windows-specific implementation (NOT TESTED)
#ifdef _WIN32
#include <windows.h>
bool isFile(const char *name)
{
unsigned int stat = GetFileAttributes(name);
return (stat != 0xFFFFFFFF &&
(stat & FILE_ATTRIBUTE_DIRECTORY) == 0);
}
#elif __linux__ // Linux implementations
2010-06-03 19:51:59 +00:00
#include <sys/stat.h>
#include <unistd.h>
bool isFile(const char *name)
{
// Does the file exist?
if(access(name,0) != 0)
return false;
struct stat st;
if(stat(name, &st)) return false;
return S_ISREG(st.st_mode);
}
2010-06-03 19:51:59 +00:00
#elif __APPLE__ // Darwin implementations
2010-06-03 19:51:59 +00:00
#include <sys/stat.h>
#include <unistd.h>
bool isFile(const char *name)
{
// Does the file exist?
if(access(name,0) != 0)
return false;
struct stat st;
if(stat(name, &st)) return false;
return S_ISREG(st.st_mode);
}
#endif