mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:47:34 +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 <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
namespace Core {
|
namespace Core {
|
||||||
|
@ -83,4 +84,20 @@ bool File::open(IODevice::OpenMode mode)
|
||||||
return true;
|
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; }
|
String filename() const { return m_filename; }
|
||||||
void set_filename(const StringView& filename) { m_filename = 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;
|
virtual bool open(IODevice::OpenMode) override;
|
||||||
|
|
||||||
enum class ShouldCloseFileDescription {
|
enum class ShouldCloseFileDescription {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue