LibCore: Add File::size()

Returns the size in bytes for a file path given its filename. Useful
when file size is needed without having to open the file to query it
using fstat() or seeking to the end.
This commit is contained in:
Leandro Pereira 2021-10-01 20:52:17 -07:00 committed by Andreas Kling
parent 368e74fdf8
commit 73924f9416
Notes: sideshowbarker 2024-07-18 01:52:53 +09:00
2 changed files with 9 additions and 0 deletions

View file

@ -153,6 +153,14 @@ bool File::exists(String const& filename)
return stat(filename.characters(), &st) == 0;
}
Result<size_t, OSError> File::size(String const& filename)
{
struct stat st;
if (stat(filename.characters(), &st) < 0)
return OSError(errno);
return st.st_size;
}
String File::real_path_for(String const& filename)
{
if (filename.is_null())

View file

@ -34,6 +34,7 @@ public:
static bool is_link(String const& filename);
static bool exists(String const& filename);
static Result<size_t, OSError> size(String const& filename);
static bool ensure_parent_directories(String const& path);
static String current_working_directory();
static String absolute_path(String const& path);