1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 02:57:36 +00:00

LibCore: Add File::is_directory() helpers

This commit is contained in:
Andreas Kling 2020-02-09 11:50:18 +01:00
parent 80b1af2352
commit 67ccdbe384
2 changed files with 20 additions and 0 deletions

View file

@ -28,6 +28,7 @@
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
namespace Core {
@ -83,4 +84,20 @@ bool File::open(IODevice::OpenMode mode)
return true;
}
bool File::is_directory() const
{
struct stat stat;
if (fstat(fd(), &stat) < 0)
return false;
return S_ISDIR(stat.st_mode);
}
bool File::is_directory(const String& filename)
{
struct stat st;
if (stat(filename.characters(), &st) < 0)
return false;
return S_ISDIR(st.st_mode);
}
}

View file

@ -39,6 +39,9 @@ public:
String filename() const { return m_filename; }
void set_filename(const StringView& filename) { m_filename = filename; }
bool is_directory() const;
static bool is_directory(const String& filename);
virtual bool open(IODevice::OpenMode) override;
enum class ShouldCloseFileDescription {