diff --git a/Userland/Libraries/LibCore/File.cpp b/Userland/Libraries/LibCore/File.cpp index 3f97cd1602..f6aac9e676 100644 --- a/Userland/Libraries/LibCore/File.cpp +++ b/Userland/Libraries/LibCore/File.cpp @@ -153,6 +153,14 @@ bool File::exists(String const& filename) return stat(filename.characters(), &st) == 0; } +Result 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()) diff --git a/Userland/Libraries/LibCore/File.h b/Userland/Libraries/LibCore/File.h index 30be3aa333..58989eef74 100644 --- a/Userland/Libraries/LibCore/File.h +++ b/Userland/Libraries/LibCore/File.h @@ -34,6 +34,7 @@ public: static bool is_link(String const& filename); static bool exists(String const& filename); + static Result size(String const& filename); static bool ensure_parent_directories(String const& path); static String current_working_directory(); static String absolute_path(String const& path);