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:
parent
80b1af2352
commit
67ccdbe384
2 changed files with 20 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue